diff --git a/app/src/main/java/org/vibecoders/moongazer/Game.java b/app/src/main/java/org/vibecoders/moongazer/Game.java index eb0a46d..ab72311 100644 --- a/app/src/main/java/org/vibecoders/moongazer/Game.java +++ b/app/src/main/java/org/vibecoders/moongazer/Game.java @@ -83,11 +83,6 @@ public class Game extends ApplicationAdapter { scene.root.setVisible(false); } } - - if (!currentScene.root.isVisible()) { - log.trace("Showing current scene: {}", currentScene.getClass().getSimpleName()); - currentScene.root.setVisible(true); - } batch.begin(); currentScene.render(batch); diff --git a/app/src/main/java/org/vibecoders/moongazer/scenes/Transition.java b/app/src/main/java/org/vibecoders/moongazer/scenes/Transition.java index 252c538..c490921 100644 --- a/app/src/main/java/org/vibecoders/moongazer/scenes/Transition.java +++ b/app/src/main/java/org/vibecoders/moongazer/scenes/Transition.java @@ -44,6 +44,10 @@ public class Transition extends Scene { log.trace("Transition complete to state: {}", targetState); game.state = targetState; game.transition = null; + // Set keyboard focus to the new scene's root + from.root.setVisible(false); + to.root.setVisible(true); + game.stage.setKeyboardFocus(to.root); return; } var fromOpacity = 1 - toOpacity;