corregit: al pulsar per a jugar, el titol deixava d'animar-se

This commit is contained in:
2025-12-04 12:00:08 +01:00
parent 330044e10f
commit 1dd87c0707
2 changed files with 37 additions and 28 deletions

View File

@@ -351,6 +351,26 @@ void EscenaTitol::actualitzar(float delta_time) {
animacio_activa_ = true; animacio_activa_ = true;
} }
// Actualitzar animació del logo
actualitzar_animacio_logo(delta_time);
break;
}
case EstatTitol::TRANSITION_TO_GAME:
temps_acumulat_ += delta_time;
// Continuar animació orbital durant la transició
actualitzar_animacio_logo(delta_time);
if (temps_acumulat_ >= DURACIO_TRANSITION) {
// Transició a JOC (la música ja s'ha parat en el fade)
GestorEscenes::actual = Escena::JOC;
}
break;
}
}
void EscenaTitol::actualitzar_animacio_logo(float delta_time) {
// Només calcular i aplicar offsets si l'animació està activa // Només calcular i aplicar offsets si l'animació està activa
if (animacio_activa_) { if (animacio_activa_) {
// Acumular temps escalat // Acumular temps escalat
@@ -378,18 +398,6 @@ void EscenaTitol::actualitzar(float delta_time) {
lletres_attack_[i].posicio.y = posicions_originals_attack_[i].y + static_cast<int>(std::round(offset_y)); lletres_attack_[i].posicio.y = posicions_originals_attack_[i].y + static_cast<int>(std::round(offset_y));
} }
} }
// Si no està activa, mantenim les posicions originals (ja establertes en inicialització)
break;
}
case EstatTitol::TRANSITION_TO_GAME:
temps_acumulat_ += delta_time;
if (temps_acumulat_ >= DURACIO_TRANSITION) {
// Transició a JOC (la música ja s'ha parat en el fade)
GestorEscenes::actual = Escena::JOC;
}
break;
}
} }
void EscenaTitol::dibuixar() { void EscenaTitol::dibuixar() {

View File

@@ -94,6 +94,7 @@ class EscenaTitol {
// Mètodes privats // Mètodes privats
void actualitzar(float delta_time); void actualitzar(float delta_time);
void actualitzar_animacio_logo(float delta_time); // Actualitza l'animació orbital del logo
void dibuixar(); void dibuixar();
void processar_events(const SDL_Event& event); void processar_events(const SDL_Event& event);
void inicialitzar_titol(); // Carrega i posiciona les lletres del títol void inicialitzar_titol(); // Carrega i posiciona les lletres del títol