所以基本上我想在这里实现的都非常简单。使用菜单屏幕加载游戏。点击播放按钮,移动到“播放屏幕”,人物死亡,点击“主页按钮”返回到菜单屏幕。然而,当我在角色死亡后尝试点击“播放按钮”时,它似乎并没有注册点击。请记住,第一次尝试时(首次打开应用程序时),主菜单类中的按钮可点击。然而,当我尝试使用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