Unity Input Touch fingerId

来源:互联网 发布:c语言找出数组最多的数 编辑:程序博客网 时间:2024/05/02 01:12
Input.touchs    是一个数组,存储了 当前的所有touch 事件。

而每一个 touch  都是相互独立的。
fingerId  是touch  为了标明自己与其他 touch 区别的 一个 索引序号。  (虽然交 手指ID 并不是转指某个手指。)

他的 规则经过验证是这样的:
将 手指 食指 ,中指,无名指,小指, 按照次序 放上去 。  
食指 放上之后 是   ,  touchCount  为 1,   finger 为 0
中指 放上之后 是   ,  touchCount  为 2,   finger 为 1
无名指 放上之后 是   ,  touchCount  为 3,   finger 为 2
小指 放上之后 是   ,  touchCount  为 4,   finger 为 3

这个时候 ,如果 把  中指离开 那么 将会 变成:
食指 放上之后 是   ,  touchCount  为 3,   finger 为 0
无名指 放上之后 是   ,  touchCount  为 3,   finger 为 2
小指 放上之后 是   ,  touchCount  为 3,   finger 为 3
因为 当前 还有三个 手指,所以 touch Count 为 3.  而 fingerId  就像他们的名字一样,即使 中指走了 , 食指的代号 同样 也还是 0.

但是如果 这个时候 又有一个手指安在屏幕上 ,(可以不是那个 中指)
那么将会是这个样子的:
食指 放上之后 是   ,  touchCount  为 4,   finger 为 0
无名指 放上之后 是   ,  touchCount  为 4,   finger 为 2
小指 放上之后 是   ,  touchCount  为 4,   finger 为 3 
新手指 再次放上之后  ,touchCount 为 4, fingerId 为 1

TouchCount 为4 不解释。   fingerId  会 变成 1 而不是 5  是因为 ,1这个名字已经 空下来了,所以 当起名字的时候 从前面开始往后面找 ,有空名字就是使用,  如果此时 在加一个 手指 那就会是  5了 。  在在加 就是 6.


这个在做双摇杆或摇杆和滑动屏幕共存时,要注意

0 0
原创粉丝点击