我有一个可以识别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。