关于移动端触屏输入控制的API的使用汇总(三)_Unity Android手机触屏事件<26/11/2017>
原文地址
http://blog.csdn.net/qq_15267341/article/details/52275589
一: 下面先说经常用的三个事件 手指按下、手指移动、手指松开
1. 手指按下
if(input.touchCount==1)
{
if(input.touches[0].phase==TouchPhase.Beagn)
{
// 手指按下时,要触发的代码
}
2. 手指在屏幕上滑动
if(input.touchCount==1)
{
if(input.touches[0].phase==TouchPhase.Move)
{
// 手指滑动时,要触发的代码
float s01=Input.getAxis("Mouse X"); //手指水平移动的距离
float s02=Input.getAxis("Mouse Y"); //手指垂直移动的距离
}
3. 手指在屏幕上松开时
if(input.touches[0].phase==TouchPhase.Ended)&& Input.touches[0].phase!=TouchPhase.Canceled
二: 上面介绍的是单手指触发事件,下面介绍的是多手指触发事件
if(touchCount==2) //代表有两个手指
{
if(Input.getTouch(0).phase==TouchPhase.Moved&& //第一个手指 Input.getTouch(1).phase==TouchPhase.Moved) //第二个手指
{
vecter3 s1=input.getTouch(0).position; //第一个手指屏幕坐标
vecter3 s2=input.getTouch(1).position; //第二个手指屏幕坐标
newdis=Vecter2.distance(s1,s2);
if(newdis>olddis) //手势外拉
{
distance+=Time.deltaTime*50f;
}
if(newdis
{
distance-=Time.deltaTime*50f;
}
olddis=newdis;
}
}
总结:
1. 不管是触屏事件还是PC端的事件,世界转屏幕还是屏幕转世界以及射线检测都是管用的
2. 安卓端的手指坐标(Input.touches[0].position)等同于PC端的鼠标屏幕坐标
(Input.mousePosition)