如何实现屏幕触控?

2020-12-03 08:53发布

7条回答
男孩无衣
2020-12-14 16:26

在带有触摸屏的移动设备上,Input类同样提供了一套触摸方法,甚至能使用Input类直接访问陀螺仪、获取导航位置等信息。

对于当代触摸屏手机来说,支持5指多点触摸是常见配置,Unity也支持此种情况。可以通过Input.touches属性数组,来访问在此帧中每根手指的状态。

早期的安卓手机无法支持到5指,这只会影响到Input.touches属性中的数组个数,数组本身使用不受影响。

在Input.touches属性中,每一根手指的信息都存放在Input.Touch结构中。

属性

功能

fingerId

触摸到屏幕手指的索引序号,它是唯一的,注意同一根手指按下的Id不保证每次都相同

position

当前手指在屏幕坐标系下的坐标

deltaPosition

当前手指(滑动),相对上一帧坐在位置的偏移量

deltaTime

当前手指(滑动),距离上次坐标位置改变的时间间隔

tapCount

iOS系统下,可以检测到统一位置下快速点击屏幕次数,对于安卓系统,这个数值一直为1(文档未更新)

phase

当前手指所处的“行动状态”,如刚刚按下?结束点击?拖拽中?等等

行动状态phase可以如下选项:

属性

功能

Began

手指刚刚点击屏幕一瞬间

Moved

手指在屏幕上滑动

Stationary

手指按在屏幕上,但相对上一帧的位置没有发生变化

Ended

手指从屏幕抬起一瞬间

Canceled

防误触状态,比如手掌整个压在屏幕上。




一周热门 更多>