我在LibGDX中创建了自己的自定义按钮,该按钮扩展了InputAdapter类。我覆盖了touchDown和touchUp方法。在触发touchUp事件(即更改屏幕等)时触发一个事件。仅使用touchUp事件时,一切都会按预期进行。当也使用touchdown事件时(当前什么也不做,只会触发),要求在按下手指至少1秒钟后触发touchUp事件,否则触发touchUp事件失败。关于为什么会发生或如何解决的任何想法?

最佳答案

如果Touch_Down事件返回true,则触发Touch_up,您是否正在处理touch_down内部的内容?如果处理所花的时间比您按下按钮要多,那么touch_down不会返回true并不会触发它,我建议将您的游戏逻辑放在输入处理器之外,如您在InputListener JavaDoc中所看到的:


  void touchUp(InputEvent event, float x, float y, int pointer, int button)
  当鼠标按钮或手指触摸在任何地方都上升时调用,但仅当touchDown先前为鼠标按钮或触摸返回true时才调用。

10-06 06:07