feat(title): primera passada — fons casi negre, títol+ARCADE i prompt START intermitent (configurable a ui.yaml)

This commit is contained in:
JailDesigner committed 2026-05-06 09:01:28 +02:00
1 parent 5710568af8
commit dadbee9bad
9 files changed
+135 -31

No files matched your search

+9 -9
View File
@@ -7,24 +7,24 @@
class Text;
// Escena placeholder del títol. Mateix comportament que LogoScene — duració
// fixa de 5 s i skip amb tecla no reservada —, però classe separada perquè
// quan divergeixi en contingut real (menú, seleccions, animacions) creixi en
// el seu propi fitxer sense haver de refactoritzar cap base comuna.
// Escena TITLE provisional. Pinta dos blocs de text sobre un fons gairebé
// negre i un prompt "press start" intermitent fins que apareix l'artwork
// real. Tota la cosmètica (colors, durada, ritme del parpadeig) viu a
// data/ui.yaml secció `title:` per poder afinar-la sense recompilar.
class TitleScene : public Scene {
public:
using SceneFactory = std::function<std::unique_ptr<Scene>()>;
static constexpr int DURATION_MS = 5000;
TitleScene(std::shared_ptr<Text> font, SceneFactory next_factory);
TitleScene(std::shared_ptr<Text> display_font, std::shared_ptr<Text> condensed_font, SceneFactory next_factory);
~TitleScene() override;
void update(int delta_ms) override;
void render() override;
private:
std::shared_ptr<Text> font_;
std::shared_ptr<Text> display_font_;
std::shared_ptr<Text> condensed_font_;
SceneFactory next_factory_;
int timer_ms_{DURATION_MS};
int timer_ms_;
int blink_elapsed_ms_{0};
};