corregida la velocitat del Logo

This commit is contained in:
2025-11-02 22:50:57 +01:00
parent e08badbf22
commit 1409ab5bff
2 changed files with 14 additions and 3 deletions

View File

@@ -85,6 +85,17 @@ void Logo::updateJAILGAMES(float delta_time) {
}
}
// Verifica si todas las líneas están en su posición destino
bool Logo::allJailgamesLinesInPosition() const {
// Iterar por todas las líneas (empezando desde 1, como en updateJAILGAMES)
for (size_t i = 1; i < jailgames_sprite_.size(); ++i) {
if (jailgames_sprite_[i]->getX() != JAILGAMES_DEST_X) {
return false; // Al menos una línea no ha llegado
}
}
return true; // Todas las líneas están en posición
}
// Calcula el índice de color según el progreso (0.0-1.0)
auto Logo::getColorIndex(float progress) const -> int {
// Asegurar que progress esté en el rango [0.0, 1.0]
@@ -148,7 +159,7 @@ void Logo::updateState(float delta_time) {
break;
case State::JAILGAMES_SLIDE_IN:
if (state_time_ >= JAILGAMES_SLIDE_DURATION) {
if (allJailgamesLinesInPosition()) {
transitionToState(State::SINCE_1998_FADE_IN);
}
break;

View File

@@ -31,13 +31,12 @@ class Logo {
private:
// --- Constantes de tiempo (en segundos) ---
static constexpr float INITIAL_DELAY = 0.5F; // Tiempo antes de que empiece la animación
static constexpr float JAILGAMES_SLIDE_DURATION = 1.2F; // Duración del slide-in de JAILGAMES
static constexpr float SINCE_1998_FADE_DURATION = 0.5F; // Duración del fade-in de "Since 1998"
static constexpr float DISPLAY_DURATION = 3.5F; // Tiempo que el logo permanece visible
static constexpr float FADE_OUT_DURATION = 0.5F; // Duración del fade-out final
// --- Constantes de animación ---
static constexpr float JAILGAMES_SLIDE_SPEED = 800.0F; // Velocidad de slide-in (pixels/segundo)
static constexpr float JAILGAMES_SLIDE_SPEED = 350.0F; // Velocidad de slide-in (pixels/segundo)
static constexpr int JAILGAMES_DEST_X = 37; // Posición X de destino para JAILGAMES
// --- Objetos y punteros ---
@@ -64,6 +63,7 @@ class Logo {
void updateState(float delta_time); // Actualiza el estado actual
void transitionToState(State new_state); // Transiciona a un nuevo estado
[[nodiscard]] auto getColorIndex(float progress) const -> int; // Calcula el índice de color según el progreso (0.0-1.0)
[[nodiscard]] bool allJailgamesLinesInPosition() const; // Verifica si todas las líneas están en su posición destino
static void endSection(); // Termina la sección
void initColors(); // Inicializa el vector de colores
void initSprites(); // Crea los sprites de cada linea