我不知道如何检测用户拖动事件何时结束,所以我决定这样做
protected class Input extends DragListener{
boolean dragging=false;
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return true;
}
@Override
public void touchDragged(InputEvent event, float x, float y, int pointer) {
if(!dragging)dragging=true;
*my game logic*
.
.
.
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
Gdx.app.log("touch up","");
if (dragging) {
*my game logic*
.
.
.
}
}
}
我通过拖动和触摸来尝试我的课程,没有任何事情发生。 我再次拖动,什么也没发生。然后我点击,控制台两次打印“touchUp”。 还有什么可以检测它吗
答案 0 :(得分:1)
位于FILE *arr[]
的界面GestureListener
中有一个方法GestureDetector
和pan
。您应该实现该界面,添加其中的所有方法,并使用panStop
进行拖动行为,并使用pan
来解决问题。这些方法既可以注册触摸也可以注册鼠标以及多个手指触摸。