FIX: Si saltes el logo talla el so a meitat sonar

FIX: Corregida la lògica del efecte de flash
This commit is contained in:
2024-11-27 18:39:23 +01:00
parent eed45bdbc6
commit faba87c06d
6 changed files with 24 additions and 14 deletions

View File

@@ -88,10 +88,10 @@ void Screen::blit()
fps_counter_++;
// Actualiza y dibuja el efecto de flash en la pantalla
doFlash();
renderFlash();
// Atenua la pantalla
doAttenuate();
renderAttenuate();
// Muestra la ayuda por pantalla
OnScreenHelp::get()->render();
@@ -254,6 +254,7 @@ void Screen::setBlendMode(SDL_BlendMode blendMode)
void Screen::update()
{
updateShakeEffect();
updateFlash();
Notifier::get()->update();
updateFPS();
OnScreenHelp::get()->update();
@@ -312,21 +313,26 @@ void Screen::flash(Color color, int lenght)
}
// Actualiza y dibuja el efecto de flash en la pantalla
void Screen::doFlash()
void Screen::renderFlash()
{
if (flash_effect_.enabled)
{
// Dibuja el color del flash en la textura
SDL_SetRenderDrawColor(renderer_, flash_effect_.color.r, flash_effect_.color.g, flash_effect_.color.b, 0xFF);
SDL_RenderClear(renderer_);
}
}
// Actualiza la lógica del efecto
// Actualiza el efecto de flash
void Screen::updateFlash()
{
if (flash_effect_.enabled)
{
flash_effect_.counter > 0 ? flash_effect_.counter-- : flash_effect_.enabled = false;
}
}
// Atenua la pantalla
void Screen::doAttenuate()
void Screen::renderAttenuate()
{
if (attenuate_effect_)
{