feat(demo): transició títol→demo amb dive de càmera + cortinilla negra (substitueix el fundido)

This commit is contained in:
2026-05-29 10:03:17 +02:00
parent 068f42782b
commit 2f6d6c405f
9 changed files with 204 additions and 145 deletions
+12 -5
View File
@@ -39,11 +39,18 @@ namespace Defaults::Game {
constexpr float LEVEL_COMPLETED_DURATION = 3.0F; // Duración total
constexpr float LEVEL_COMPLETED_TYPING_RATIO = 0.05F; // ~150ms de typewriter (escan ràpid però visible)
// Attract mode: durada de la fosa a/desde negre a les transicions de demo.
namespace Fade {
constexpr float DEMO_OUT_DURATION = 0.6F; // TÍTOL → DEMO (fosa a negre abans del salt)
constexpr float DEMO_IN_DURATION = 0.6F; // DEMO: fosa des de negre sobre el joc ja en marxa
} // namespace Fade
// Attract mode: transició TÍTOL → DEMO. Primer un "dive" de càmera cap al
// punt de fuga (deixa enrere títol/naus/logo) i després una cortinilla negra
// que cau per tapar; a la demo, la cortinilla segueix caient i destapa.
namespace Dive {
constexpr float DURATION = 0.55F; // Durada del dive (s), amb acceleració (ease-in)
constexpr float CAMERA_DISTANCE = 450.0F; // Avanç de la càmera en +Z (passa les naus, a Z≈323)
constexpr float ZOOM_MAX = 7.0F; // Zoom final dels elements 2D (logo + peu) en travessar-los
} // namespace Dive
namespace Curtain {
constexpr float COVER_DURATION = 0.35F; // TÍTOL: la tela cau i tapa
constexpr float REVEAL_DURATION = 0.45F; // DEMO: la tela segueix caient i destapa
} // namespace Curtain
// Transición INIT_HUD (animación inicial del HUD)
constexpr float INIT_HUD_DURATION = 3.0F; // Duración total del estado