Unity 3D FingerID

来源:互联网 发布:nginx 安装禅道 编辑:程序博客网 时间:2024/05/02 02:58
原文转自:http://vhshiwen.blogspot.com/2014/01/unity-input-touch-fingerid.html

具体来说
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
原创粉丝点击