手机触摸操作摄像机移动

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
Vector2 m_Screenpos=new Vector2();
// Use this for initialization
void Start () {
Input.multiTouchEnabled=true;
}


void Update()
{


}


void TouchTest()
{
//编辑器状态下运行
if (Application.platform == RuntimePlatform.WindowsEditor) 
{


}
else if(Application.platform==RuntimePlatform.Android||Application.platform==RuntimePlatform.IPhonePlayer)
{
if(Input.touchCount<=0) return;
//单手指触屏
if(Input.touchCount==1)
{
if(Input.GetTouch(0).phase==TouchPhase.Began)
{
m_Screenpos=Input.GetTouch(0).position;
}
else if(Input.GetTouch(0).phase==TouchPhase.Moved)//开始滑动手指
{
Camera.main.transform.Translate(
new Vector3(Input.GetTouch(0).deltaPosition.x*Time.deltaTime,Input.GetTouch(0).deltaPosition.y*Time.deltaTime,0)
);
}//当手指离开屏幕
else if(Input.GetTouch(0).phase==TouchPhase.Ended)
{
Vector2 now_Postion=Input.GetTouch(0).position;
//手指水平移动
if(Mathf.Abs(m_Screenpos.x-now_Postion.x)>Mathf.Abs(m_Screenpos.y-now_Postion.y))
{


if(m_Screenpos.x>now_Postion.x)
{
//手指左滑
}
else
{
//手指右滑
}
}else//手指垂直运动
{
if(m_Screenpos.y>now_Postion.y)
{
//手指下滑
}else
{
//手指上滑
}
}
}
}
else if(Input.touchCount>1)
{
//当两个手指触摸屏幕时
Vector2 finger1 =new Vector2();//手指1位置
Vector2 finger2 =new Vector2();//手指2位置


Vector2 mov1=new Vector2();//手指1移动距离
Vector2 mov2 =new Vector2();//手指2移动距离
for(int i=0;i<2;i++)
{
Touch touch =Input.GetTouch(i);
if(touch.phase==TouchPhase.Ended) break;
if(touch.phase==TouchPhase.Moved)
{
float mov =0;
if(i==0)
{
finger1=touch.position;
mov1=touch.deltaPosition;
}else
{
finger2=touch.position;
mov2=touch.deltaPosition;
if(finger1.x>finger2.x)
{
mov=mov1.x;
}else
{
mov=mov2.x;
}
if(finger1.y>finger2.y)
{
mov+=mov1.y;
}else
{
mov+=mov2.y;
}
}
Camera.main.transform.Translate(0,0,mov*Time.deltaTime);
}


}
}
}
}




}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值