Так что в основном все, что я пытаюсь достичь здесь, очень просто. Загрузите игру с помощью экрана меню. Нажмите кнопку воспроизведения, перейдите на «экран воспроизведения», символ умирает, нажатие кнопки «домой» возвращается к экрану меню. Однако, когда я пытаюсь нажать кнопку «play» после того, как мой персонаж умрет, он, похоже, вообще не регистрирует клики. Имейте в виду, что с первой попытки (когда приложение открыто) мои кнопки в классе основного меню доступны для просмотра. Однако после того, как я попытаюсь перейти обратно в тот же класс основного меню, используя метод updateGOSButtons(), как показано ниже, кнопки становятся незаметными.Линейный входной процессор Libgdx scene2d не работает?
МЕНЮ КЛАСС
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);
}
ИГРЫ 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());
}
Вы создаете новый этап? Большую часть времени, когда моя сцена, кнопки или какой-либо другой актер не работает, потому что я создаю в нем новый объект после того, как я назначил его, или добавил Listener или что-то еще. – Madmenyo