MainMenuScene #21

Open
opened 2026-04-16 20:25:38 +00:00 by sebastian · 0 comments
Owner

Problem: Es gibt kein Hauptmenü. Das Spiel startet direkt im Spielzustand ohne dem Nutzer eine Wahl zu lassen.
Lösung:

// game/scenes/MainMenuScene.h
class MainMenuScene : public Scene {
    void onEnter() override; // UI aufbauen
    void onExit()  override;
};

onEnter() baut folgende UI auf (nur UILayer, kein GameLayer):

  • Logo / Titel
  • Button "Neues Spiel" → SceneManager::switchTo(LoadingScreenScene(GameScene))
  • Button "Beenden" → Application::getInstance().close()

Benötigte Assets (Fonts, Hintergrundtextur) werden synchron in onEnter() geladen – der Menü-Ladevorgang ist kurz genug.
Acceptance Criteria:

  • Spiel startet im Hauptmenü, nicht direkt im Spiel
  • "Neues Spiel" startet Übergang zu LoadingScreenScene → GameScene
  • "Beenden" schließt das Fenster
  • Keine 3D-Welt wird initialisiert solange im Menü
Problem: Es gibt kein Hauptmenü. Das Spiel startet direkt im Spielzustand ohne dem Nutzer eine Wahl zu lassen. Lösung: ``` // game/scenes/MainMenuScene.h class MainMenuScene : public Scene { void onEnter() override; // UI aufbauen void onExit() override; }; ``` onEnter() baut folgende UI auf (nur UILayer, kein GameLayer): - Logo / Titel - Button "Neues Spiel" → SceneManager::switchTo(LoadingScreenScene(GameScene)) - Button "Beenden" → Application::getInstance().close() Benötigte Assets (Fonts, Hintergrundtextur) werden synchron in onEnter() geladen – der Menü-Ladevorgang ist kurz genug. Acceptance Criteria: - Spiel startet im Hauptmenü, nicht direkt im Spiel - "Neues Spiel" startet Übergang zu LoadingScreenScene → GameScene - "Beenden" schließt das Fenster - Keine 3D-Welt wird initialisiert solange im Menü
sebastian added this to the Konkrete Szenen milestone 2026-04-16 20:25:38 +00:00
sebastian added the
enhancement
engine
labels 2026-04-16 20:25:38 +00:00
sebastian added this to the Dicewars project 2026-04-16 21:03:06 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sebastian/Dicewars-Siedler#21
No description provided.