我使用舞臺上的演員作爲按鈕。我可以檢測touchDown/touchUp事件何時發生在演員身上,但當用戶點擊演員然後繼續將他們的手指從演員拖出時,touchUp事件從不會觸發。我嘗試使用退出事件,但它永遠不會觸發。在我的程序中,touchUp/touchDown事件決定了移動以及按鈕的顏色,這取決於按鈕是否被按下。所以我'留下了一個永久的「壓低」按鈕,直到它再次點擊/向上。我使用的代碼libgdx touchUp事件
例子:
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");
}
});
你使用的是什麼版本的libgdx?最新似乎沒有'Stage.addListener()'。也許這是一個修復版本比你使用的更新的版本。 – kichik
我使用的是從10/20/2012開始的每晚構建,libgdx.txt表示它的0.9.3,然後我會嘗試0.9.6。 –
啊。那麼,我對流血的邊緣不太瞭解。如果我不得不猜測,我會說執行'touchDragged()'可能會有所幫助。 – kichik