所以基本上我想在這裏實現的都非常簡單。使用菜單屏幕加載遊戲。點擊播放按鈕,移動到「播放屏幕」,人物死亡,點擊「主頁按鈕」返回到菜單屏幕。然而,當我在角色死亡後嘗試點擊「播放按鈕」時,它似乎並沒有註冊點擊。請記住,第一次嘗試時(首次打開應用程序時),主菜單類中的按鈕可點擊。然而,當我嘗試使用updateGOSButtons()方法轉換回相同的主菜單類(如下所示)時,這些按鈕變得不可點擊。Libgdx scene2d inputprocessor不工作?
MENU Screen類
public void show() {
//init table and stuff
buttonPlay.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
buttonClicked.play();
game.setScreen(new GameScreen(game));
dispose();
}
});
buttonRate.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
buttonClicked.play();
System.out.println("Nothing happens Yet");
}
});
Gdx.input.setInputProcessor(stage);
}
PLAY Screen類
public void updateGOSButtons() {
if (gos.isGoButtonClicked()) {
gameOver.stop();
backgroundMusic.play();
gameState = GameState.START;
dispose();
game.setScreen(new GameScreen(game));
}
if (gos.isHomeButtonClicked()) {
gameOver.stop();
backgroundMusic.play();
gameState = GameState.START;
dispose();
game.setScreen(new MainMenuScreen(game));
}
Gdx.input.setInputProcessor(gos.getStage());
}
你創建一個新的階段?大多數情況下,當我的舞臺,按鈕或其他演員不工作時,是因爲我在分配它或添加了監聽器之後創建了一個新對象。 – Madmenyo