我有一个可以识别swiping输入的脚本。现在开始滑动时,它还会触发Input.GetMouseButtonDown(0)。您能告诉我如何删除来自滑动的Input.GetMouseButtonDown(0)吗?
通过该滑动,游戏暂停了。 (使用Time.timeScale = 0f;)恢复后,在暂停游戏之前,从Input.GetMouseButtonDown(0)触发了操作。
我的想法:使用TouchPhase.Stationary还是寻找快捷键?
感谢:)
在我头顶上,您可以:
Input.ResetInputAxes
;它将清除一帧的所有输入标志。Input.ResetInputAxes
时检查它。两者都需要确保滑动检测发生在之前您检查Input.GetMouseButtonDown(0)
。
确保它的一种方法是使用Unity的Input.GetMouseButtonDown(0)
。
有一种更优雅的方法。
转到编辑->项目设置->输入并删除GetMouseButton(0)或删除其输入。
我建议根本不使用Input类,这会引起很多问题,最好在UI上使用实现IPointerDownHandler,IPointerUpHandler的脚本在脚本上单独设置RaycastTarget,这将确保当前只有一个RaycastTarget正在处理您的触摸。即使某些RaycastTarget应该已经消耗了您的事件,Input.GetMouseButton也会返回true。