unity中Touch类相关知识

首先:所有Touch类在PC端均不生效

每当一个手指触摸屏幕时,Unity都会为其生成一个Touch对象

Input.touchCount可以获取当前Touch对象的个数

Unity会将当前存在的所有Touch对象放在Input.touches这个数组中

获取Touch对象
Touch myTouch = Input.touches[0];
另一种方式获取指定Index的Touch对象:Input.GetTouch(index);

fingerId是用来识别当前手指的唯一标示
myTouch.fingerId

deltaPosition当前位置与上次位置之间的差
myTouch.deltaPosition

deltaTime本次记录Touch对象状态与上次记录Touch状态之间的时间差
myTouch.deltaTime

Touch对象的生命周期的结束并不是手指离开屏幕后立刻销毁
如果一根手指在同一位置快速点击,则视作同一Touch对象
tapCount为Touch对象所对应的手指点击屏幕的次数
myTouch.tapCount

phase表示当前手指所对应的Touch对象的阶段(状态)
myTouch.phase
当一个手指刚按下时,其对应的Touch对象的Phase是Began
TouchPhase.Began
当一个手指在屏幕上移动时,其对应的Touch对象的Phase是Moved
TouchPhase.Moved
当一个手指在屏幕上按住不动时,其对应的Touch对象的Phase是Stationary
TouchPhase.Stationary
当一个手指离开屏幕时,其对应的Touch对象的Phase是Ended
TouchPhase.Ended
当因为某些原因(系统原因)取消对某个手指的追踪时,其对应的Touch对象的Phase是Canceled
TouchPhase.Canceled

rawPosition为当前Touch对象所对应的手指的初始(刚按下时)屏幕坐标
myTouch.rawPosition
position为当前Touch对象所对应的手指的屏幕坐标
myTouch.position

unity打包出来的软件返回键是由该软件接管的而非由安卓接管
返回键的键码为Escape
Input.GetKeyDown(KeyCode.Escape)

该操作可将返回键控制权交回给安卓
Input.backButtonLeavesApp = true;

注意:
以下三行在移动端也生效,带来方便的同时也会带来隐患
Input.GetMouseButton(0)
Input.GetAxis(“Mouse X”)
Input.GetAxis(“Mouse Y”)

你可能感兴趣的:(U3D)