corregida la velocitat del Logo
This commit is contained in:
@@ -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)
|
// Calcula el índice de color según el progreso (0.0-1.0)
|
||||||
auto Logo::getColorIndex(float progress) const -> int {
|
auto Logo::getColorIndex(float progress) const -> int {
|
||||||
// Asegurar que progress esté en el rango [0.0, 1.0]
|
// Asegurar que progress esté en el rango [0.0, 1.0]
|
||||||
@@ -148,7 +159,7 @@ void Logo::updateState(float delta_time) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case State::JAILGAMES_SLIDE_IN:
|
case State::JAILGAMES_SLIDE_IN:
|
||||||
if (state_time_ >= JAILGAMES_SLIDE_DURATION) {
|
if (allJailgamesLinesInPosition()) {
|
||||||
transitionToState(State::SINCE_1998_FADE_IN);
|
transitionToState(State::SINCE_1998_FADE_IN);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -31,13 +31,12 @@ class Logo {
|
|||||||
private:
|
private:
|
||||||
// --- Constantes de tiempo (en segundos) ---
|
// --- Constantes de tiempo (en segundos) ---
|
||||||
static constexpr float INITIAL_DELAY = 0.5F; // Tiempo antes de que empiece la animación
|
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 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 DISPLAY_DURATION = 3.5F; // Tiempo que el logo permanece visible
|
||||||
static constexpr float FADE_OUT_DURATION = 0.5F; // Duración del fade-out final
|
static constexpr float FADE_OUT_DURATION = 0.5F; // Duración del fade-out final
|
||||||
|
|
||||||
// --- Constantes de animación ---
|
// --- 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
|
static constexpr int JAILGAMES_DEST_X = 37; // Posición X de destino para JAILGAMES
|
||||||
|
|
||||||
// --- Objetos y punteros ---
|
// --- Objetos y punteros ---
|
||||||
@@ -64,6 +63,7 @@ class Logo {
|
|||||||
void updateState(float delta_time); // Actualiza el estado actual
|
void updateState(float delta_time); // Actualiza el estado actual
|
||||||
void transitionToState(State new_state); // Transiciona a un nuevo estado
|
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]] 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
|
static void endSection(); // Termina la sección
|
||||||
void initColors(); // Inicializa el vector de colores
|
void initColors(); // Inicializa el vector de colores
|
||||||
void initSprites(); // Crea los sprites de cada linea
|
void initSprites(); // Crea los sprites de cada linea
|
||||||
|
|||||||
Reference in New Issue
Block a user