最近想做一个输入控制器,需要再确认一下Unity的输入逻辑,测试结果在这里留档一下。本次测试只针对Touch部分,Mouse和Keyboard部分之后再填坑吧。
1.TouchPhase里的Stationary真的非常精确,我觉得手机上没人能保持,可以忽略;Canceled跟文档写的一样,正常情况不会遇到,但是需要做处理。
2.Touch.fingerId和Input.GetTouch(index)里的index的区别:假设用户先按下手指1,再按下手指2,再松开手指1,最后松开手指2,在松开手指1的时候只有一个Touch能获取到了,index是0,但是fingerId是1不是0。
3.Touch里的tapCount必须是1的时候才能算做正常操作,其实这是为了避免bug,具体大家可以看看文档(圣典中文版)。
2016/3/9更新:
实测tapCount在三星note3上在一个位置快速连续点击会不断累加,并不是文档中说BUG的场景才出现,本人目前的处理是无视这个属性。