treballant en la intro

This commit is contained in:
2025-07-14 19:43:07 +02:00
parent bfd3943bba
commit 5cb67b41d1
6 changed files with 24 additions and 9 deletions

View File

@@ -40,6 +40,7 @@ title.press_start_position 170 # Posición Y del texto "Press Start"
title.title_duration 800 # Duración de la pantalla de título (frames) title.title_duration 800 # Duración de la pantalla de título (frames)
title.arcade_edition_position 123 # Posición Y del subtítulo "Arcade Edition" title.arcade_edition_position 123 # Posición Y del subtítulo "Arcade Edition"
title.title_c_c_position 80 # Posición Y del título principal title.title_c_c_position 80 # Posición Y del título principal
title.bg_color 808080 # Color de fondo en la sección titulo
## --- BACKGROUND --- ## --- BACKGROUND ---
background.attenuate_color FFFFFF00 # Color de atenuación del fondo (RGBA hexadecimal) background.attenuate_color FFFFFF00 # Color de atenuación del fondo (RGBA hexadecimal)
@@ -75,8 +76,10 @@ service_menu.bg_color 003000F5 # Color de fondo del menú de servicio (
service_menu.drop_shadow false # ¿El menú de servicio tiene sombra? service_menu.drop_shadow false # ¿El menú de servicio tiene sombra?
## --- INTRO --- ## --- INTRO ---
intro.bg_color 543149 # Color de fondo de la intro intro.bg_color 00FFFF # Color de fondo de la intro
intro.card_color CBDBFC # Color de las tarjetas en la intro intro.card_color CBDBFC # Color de las tarjetas en la intro
intro.shadow_color 00000080 # Color de la sombra de las tarjetas en la intro
intro.text_distance_from_bottom 48 # Posicion del texto
## --- DEBUG --- ## --- DEBUG ---
debug.color 00FFFF # Color para elementos de depuración debug.color 00FFFF # Color para elementos de depuración

View File

@@ -40,7 +40,7 @@ title.press_start_position 180 # Posición Y del texto "Press Start"
title.title_duration 800 # Duración de la pantalla de título (frames) title.title_duration 800 # Duración de la pantalla de título (frames)
title.arcade_edition_position 123 # Posición Y del subtítulo "Arcade Edition" title.arcade_edition_position 123 # Posición Y del subtítulo "Arcade Edition"
title.title_c_c_position 80 # Posición Y del título principal title.title_c_c_position 80 # Posición Y del título principal
title.bg_color FF0000 # Color de fondo en la sección titulo title.bg_color 808080 # Color de fondo en la sección titulo
## --- BACKGROUND --- ## --- BACKGROUND ---
background.attenuate_color FFFFFF00 # Color de atenuación del fondo (RGBA hexadecimal) background.attenuate_color FFFFFF00 # Color de atenuación del fondo (RGBA hexadecimal)
@@ -76,10 +76,10 @@ service_menu.bg_color 000F00F5 # Color de fondo del menú de servicio (
service_menu.drop_shadow false # ¿El menú de servicio tiene sombra? service_menu.drop_shadow false # ¿El menú de servicio tiene sombra?
## --- INTRO --- ## --- INTRO ---
intro.bg_color 543149 # Color de fondo de la intro intro.bg_color 00FFFF # Color de fondo de la intro
intro.bg_color 00FFFF # Color de fondo de la intro intro.card_color CBDBFC # Color de las tarjetas en la intro
intro.card_color CBDBFC # Color de las tarjetas en la intro intro.shadow_color 00000080 # Color de la sombra de las tarjetas en la intro
intro.shadow_color 00000080 # Color de la sombra de las tarjetas en la intro intro.text_distance_from_bottom 48 # Posicion del texto
## --- DEBUG --- ## --- DEBUG ---
debug.color 00FFFF # Color para elementos de depuración debug.color 00FFFF # Color para elementos de depuración

View File

@@ -83,6 +83,7 @@ void initParam()
param.intro.bg_color = Color::fromHex("543149"); param.intro.bg_color = Color::fromHex("543149");
param.intro.card_color = Color::fromHex("CBDBFC"); param.intro.card_color = Color::fromHex("CBDBFC");
param.intro.shadow_color = Color::fromHex("00000080"); param.intro.shadow_color = Color::fromHex("00000080");
param.intro.text_distance_from_bottom = 48;
} }
// Carga los parámetros desde un archivo // Carga los parámetros desde un archivo
@@ -465,6 +466,11 @@ bool setParams(const std::string &var, const std::string &value)
param.intro.shadow_color = Color::fromHex(value); param.intro.shadow_color = Color::fromHex(value);
} }
else if (var == "intro.text_distance_from_bottom")
{
param.intro.text_distance_from_bottom = std::stoi(value);
}
// DEBUG // DEBUG
else if (var == "debug.color") else if (var == "debug.color")
{ {

View File

@@ -107,6 +107,7 @@ struct ParamIntro
Color bg_color; Color bg_color;
Color card_color; Color card_color;
Color shadow_color; Color shadow_color;
int text_distance_from_bottom;
}; };
// --- Parámetros para Debug --- // --- Parámetros para Debug ---

View File

@@ -272,6 +272,10 @@ void Intro::render()
case IntroState::SCENES: case IntroState::SCENES:
{ {
renderSprites(); renderSprites();
static const float HEIGHT = Resource::get()->getText("04b_25_metal")->getCharacterSize();
static SDL_FRect rect = {0.0f, param.game.height - param.intro.text_distance_from_bottom - HEIGHT, param.game.width, HEIGHT * 3};
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), param.intro.shadow_color.r, param.intro.shadow_color.g, param.intro.shadow_color.b, param.intro.shadow_color.a);
SDL_RenderFillRect(Screen::get()->getRenderer(), &rect);
renderTexts(); renderTexts();
break; break;
} }
@@ -432,8 +436,8 @@ void Intro::initTexts()
for (int i = 0; i < TOTAL_TEXTS; ++i) for (int i = 0; i < TOTAL_TEXTS; ++i)
{ {
auto w = std::make_unique<Writer>(Resource::get()->getText("04b_25_metal")); auto w = std::make_unique<Writer>(Resource::get()->getText("04b_25_metal"));
w->setPosX(BLOCK * 0); w->setPosX(0);
w->setPosY(param.game.height - (BLOCK * 6)); w->setPosY(param.game.height - param.intro.text_distance_from_bottom);
w->setKerning(-2); w->setKerning(-2);
w->setEnabled(false); w->setEnabled(false);
w->setFinishedCounter(180); w->setFinishedCounter(180);

View File

@@ -45,6 +45,7 @@ private:
std::vector<std::unique_ptr<PathSprite>> shadow_sprites_; // Vector con los sprites inteligentes para las sombras std::vector<std::unique_ptr<PathSprite>> shadow_sprites_; // Vector con los sprites inteligentes para las sombras
std::vector<std::unique_ptr<Writer>> texts_; // Textos de la intro std::vector<std::unique_ptr<Writer>> texts_; // Textos de la intro
std::unique_ptr<TiledBG> tiled_bg_; // Fondo en mosaico std::unique_ptr<TiledBG> tiled_bg_; // Fondo en mosaico
//std::unique_ptr<Sprite> shadow_square_for_text_; // Sprite
// --- Variables --- // --- Variables ---
Uint64 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa Uint64 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa