añadidos fade-ins a las secciones

This commit is contained in:
2024-07-09 10:05:09 +02:00
parent 5511160836
commit 2177ad9870
6 changed files with 73 additions and 21 deletions

View File

@@ -24,6 +24,15 @@ HiScoreTable::HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset,
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param->gameWidth, param->gameHeight);
SDL_SetTextureBlendMode(backbuffer, SDL_BLENDMODE_BLEND);
// Inicializa variables
section->name = SECTION_PROG_HI_SCORE_TABLE;
ticks = 0;
ticksSpeed = 15;
counter = 0;
counterEnd = 800;
viewArea = {0, 0, param->gameWidth, param->gameHeight};
fadeMode = FADE_IN;
// Inicializa objetos
background->setSrcDest(windowArea);
background->setDstDest(windowArea);
@@ -33,18 +42,9 @@ HiScoreTable::HiScoreTable(SDL_Renderer *renderer, Screen *screen, Asset *asset,
fade->setColor(fadeColor.r, fadeColor.g, fadeColor.b);
fade->setType(FADE_RANDOM_SQUARE);
fade->setPost(param->fadePostDuration);
fade->setMode(FADE_IN);
fade->setMode(fadeMode);
fade->activate();
// Inicializa variables
section->name = SECTION_PROG_HI_SCORE_TABLE;
ticks = 0;
ticksSpeed = 15;
manualQuit = false;
counter = 0;
counterEnd = 800;
viewArea = {0, 0, param->gameWidth, param->gameHeight};
// Crea el contenido de la textura con la lista de puntuaciones
fillTexture();
}
@@ -71,13 +71,14 @@ void HiScoreTable::update()
// Actualiza el fondo
background->update();
fade->update();
// Gestiona el fade
updateFade();
counter++;
if (counter == counterEnd)
{
section->name = SECTION_PROG_INSTRUCTIONS;
fade->activate();
}
}
}
@@ -247,4 +248,22 @@ std::string HiScoreTable::scoreToString(Uint32 num)
}
return (std::to_string(num));
}
// Gestiona el fade
void HiScoreTable::updateFade()
{
fade->update();
if (fade->hasEnded() && fadeMode == FADE_IN)
{
fade->reset();
fadeMode = FADE_OUT;
fade->setMode(fadeMode);
}
if (fade->hasEnded() && fadeMode == FADE_OUT)
{
section->name = SECTION_PROG_INSTRUCTIONS;
}
}