关于移动端触屏输入控制的API的使用汇总(三)_Unity Android手机触屏事件

  • Post author:
  • Post category:其他


关于移动端触屏输入控制的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)