我正在使用带有舞台的演员作为按钮。我可以检测到何时touchDown/touchUp事件在actor上发生得很好,但是当用户点击actor然后继续将他们的手指从actor上拖动时,touchUp事件永远不会触发。我尝试改用退出事件,但它永远不会触发。在我的程序中,touchUp/touchDown 事件决定了移动以及按钮颜色,这取决于按钮是否被按下。所以我留下了一个永久“按下”的按钮,直到它再次被向下/向上点击。
我正在使用的代码示例:
stage.addListener(new InputListener() {
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
Actor actor = stage.hit(x, y, true);
if (actor != null){
System.out.println("touchDown: " + actor.getName().toString());
}
return true;
}
public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
Actor actor = stage.hit(x, y, true);
if (actor != null){
System.out.println("touchUp: " + actor.getName().toString());
}
}
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor){
System.out.println("exit");
}
});