Unity Input Touch fingerId

2023-08-24 13:26:26 浏览数 (2)

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 人点赞