afegit so al LOGO

This commit is contained in:
2025-12-02 14:01:53 +01:00
parent e51749dbc6
commit ec911979fb
4 changed files with 28 additions and 1 deletions

View File

@@ -7,6 +7,7 @@
#include <cfloat>
#include <iostream>
#include "../../core/audio/audio.hpp"
#include "../../core/graphics/shape_loader.hpp"
#include "../../core/rendering/shape_renderer.hpp"
#include "../../core/system/gestor_escenes.hpp"
@@ -42,6 +43,7 @@ EscenaLogo::EscenaLogo(SDLManager& sdl)
lletra_explosio_index_(0),
temps_des_ultima_explosio_(0.0f) {
std::cout << "Escena Logo: Inicialitzant...\n";
so_reproduit_.fill(false); // Inicialitzar seguiment de sons
inicialitzar_lletres();
}
@@ -229,11 +231,31 @@ void EscenaLogo::actualitzar(float delta_time) {
}
break;
case EstatAnimacio::ANIMATION:
case EstatAnimacio::ANIMATION: {
// Reproduir so per cada lletra quan comença a aparèixer
float global_progress = std::min(temps_estat_actual_ / DURACIO_ZOOM, 1.0f);
for (size_t i = 0; i < lletres_.size() && i < so_reproduit_.size(); i++) {
if (!so_reproduit_[i]) {
float letra_progress = calcular_progress_letra(
i,
lletres_.size(),
global_progress,
THRESHOLD_LETRA);
// Reproduir so quan la lletra comença a aparèixer (progress > 0)
if (letra_progress > 0.0f) {
Audio::get()->playSound("logo.wav", Audio::Group::INTERFACE);
so_reproduit_[i] = true;
}
}
}
if (totes_lletres_completes()) {
canviar_estat(EstatAnimacio::POST_ANIMATION);
}
break;
}
case EstatAnimacio::POST_ANIMATION:
if (temps_estat_actual_ >= DURACIO_POST_ANIMATION) {