Transició acabada, encara que hi ha un desfase de 1 pixel
This commit is contained in:
@@ -36,6 +36,7 @@ class Scoreboard {
|
||||
GAME_OVER,
|
||||
DEMO,
|
||||
ENTER_NAME,
|
||||
ENTER_TO_SHOW_NAME, // Estado de transición con animación
|
||||
SHOW_NAME,
|
||||
GAME_COMPLETED,
|
||||
NUM_MODES,
|
||||
@@ -90,9 +91,7 @@ class Scoreboard {
|
||||
std::array<float, static_cast<int>(Id::SIZE)> carousel_position_ = {}; // Posición actual del carrusel (índice en character_list_)
|
||||
std::array<float, static_cast<int>(Id::SIZE)> carousel_target_ = {}; // Posición objetivo del carrusel
|
||||
std::array<int, static_cast<int>(Id::SIZE)> carousel_prev_index_ = {}; // Índice previo para detectar cambios
|
||||
std::array<Mode, static_cast<int>(Id::SIZE)> previous_mode_ = {}; // Modo anterior para detectar transiciones
|
||||
std::array<float, static_cast<int>(Id::SIZE)> text_slide_offset_ = {}; // Offset Y de animación de deslizamiento de texto
|
||||
std::array<bool, static_cast<int>(Id::SIZE)> is_sliding_ = {}; // Indica si el panel está animando deslizamiento
|
||||
std::array<float, static_cast<int>(Id::SIZE)> text_slide_offset_ = {}; // Progreso de animación de deslizamiento (0.0 a 1.0)
|
||||
std::array<Panel, static_cast<int>(Id::SIZE)> panel_ = {}; // Lista con todos los paneles del marcador
|
||||
Colors::Cycle name_color_cycle_; // Ciclo de colores para destacar el nombre una vez introducido
|
||||
Color animated_color_; // Color actual animado (ciclo automático cada 100ms)
|
||||
@@ -113,7 +112,7 @@ class Scoreboard {
|
||||
|
||||
// --- Constantes ---
|
||||
static constexpr int CAROUSEL_VISIBLE_LETTERS = 9;
|
||||
static constexpr float TEXT_SLIDE_DURATION = 0.5f; // Duración de la animación de deslizamiento en segundos
|
||||
static constexpr float TEXT_SLIDE_DURATION = 0.3f; // Duración de la animación de deslizamiento en segundos
|
||||
|
||||
// --- Variables de aspecto ---
|
||||
Color text_color1_, text_color2_; // Colores para los marcadores del texto;
|
||||
@@ -143,6 +142,7 @@ class Scoreboard {
|
||||
void renderContinueMode(size_t panel_index);
|
||||
void renderEnterNameMode(size_t panel_index);
|
||||
void renderNameInputField(size_t panel_index);
|
||||
void renderEnterToShowNameMode(size_t panel_index); // Renderiza la transición animada
|
||||
void renderShowNameMode(size_t panel_index);
|
||||
void renderGameCompletedMode(size_t panel_index);
|
||||
void renderCarousel(size_t panel_index, int center_x, int y); // Pinta el carrusel de caracteres con colores LERP
|
||||
|
||||
Reference in New Issue
Block a user