Treballant en el segon logo
This commit is contained in:
@@ -19,8 +19,7 @@
|
||||
Logo::Logo()
|
||||
: since_texture_(Resource::get()->getTexture("logo_since_1998.png")),
|
||||
since_sprite_(std::make_unique<Sprite>(since_texture_)),
|
||||
jail_texture_(Resource::get()->getTexture("logo_jailgames.png")),
|
||||
ticks_(0)
|
||||
jail_texture_(Resource::get()->getTexture("logo_jailgames.png"))
|
||||
{
|
||||
|
||||
// Inicializa variables
|
||||
@@ -114,7 +113,7 @@ void Logo::checkInput()
|
||||
globalInputs::check();
|
||||
}
|
||||
|
||||
// Gestiona el logo de JAILGAME
|
||||
// Gestiona el logo de JAILGAMES
|
||||
void Logo::updateJAILGAMES()
|
||||
{
|
||||
if (counter_ == 30)
|
||||
@@ -149,6 +148,11 @@ void Logo::updateJAILGAMES()
|
||||
}
|
||||
}
|
||||
|
||||
// Gestiona el logo de RETROWEEKEND
|
||||
void Logo::updateRETROWEEKEND()
|
||||
{
|
||||
}
|
||||
|
||||
// Gestiona el color de las texturas
|
||||
void Logo::updateTextureColors()
|
||||
{
|
||||
@@ -190,11 +194,20 @@ void Logo::update()
|
||||
// Comprueba las entradas
|
||||
checkInput();
|
||||
|
||||
// Gestiona el logo de JAILGAME
|
||||
switch (state_)
|
||||
{
|
||||
case LogoState::JAILGAMES:
|
||||
updateJAILGAMES();
|
||||
|
||||
// Gestiona el color de las texturas
|
||||
updateTextureColors();
|
||||
break;
|
||||
|
||||
case LogoState::RETROWEEKEND:
|
||||
updateRETROWEEKEND();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// Gestiona el contador y sus eventos
|
||||
counter_++;
|
||||
@@ -213,24 +226,23 @@ void Logo::update()
|
||||
// Dibuja en pantalla
|
||||
void Logo::render()
|
||||
{
|
||||
// Prepara para empezar a dibujar en la textura de juego
|
||||
Screen::get()->start();
|
||||
|
||||
// Limpia la pantalla
|
||||
Screen::get()->clean();
|
||||
|
||||
// Dibuja los sprites
|
||||
for (auto &sprite : jail_sprite_)
|
||||
switch (state_)
|
||||
{
|
||||
sprite->render();
|
||||
case LogoState::JAILGAMES:
|
||||
renderJAILGAMES();
|
||||
break;
|
||||
|
||||
case LogoState::RETROWEEKEND:
|
||||
renderRETROWEEKEND();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (counter_ >= SHOW_SINCE_SPRITE_COUNTER_MARK)
|
||||
{
|
||||
since_sprite_->render();
|
||||
}
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
Screen::get()->render();
|
||||
}
|
||||
|
||||
@@ -248,3 +260,23 @@ void Logo::run()
|
||||
render();
|
||||
}
|
||||
}
|
||||
|
||||
// Renderiza el logo de JAILGAMES
|
||||
void Logo::renderJAILGAMES()
|
||||
{
|
||||
// Dibuja los sprites
|
||||
for (auto &sprite : jail_sprite_)
|
||||
{
|
||||
sprite->render();
|
||||
}
|
||||
|
||||
if (counter_ >= SHOW_SINCE_SPRITE_COUNTER_MARK)
|
||||
{
|
||||
since_sprite_->render();
|
||||
}
|
||||
}
|
||||
|
||||
// Renderiza el logo de RETROWEEKEND
|
||||
void Logo::renderRETROWEEKEND()
|
||||
{
|
||||
}
|
||||
@@ -20,6 +20,12 @@ struct Color;
|
||||
class Logo
|
||||
{
|
||||
private:
|
||||
enum class LogoState
|
||||
{
|
||||
JAILGAMES,
|
||||
RETROWEEKEND,
|
||||
};
|
||||
|
||||
// Constantes
|
||||
static constexpr int SHOW_SINCE_SPRITE_COUNTER_MARK = 70; // Tiempo del contador en el que empieza a verse el sprite de "SINCE 1998"
|
||||
static constexpr int INIT_FADE_COUNTER_MARK = 300; // Tiempo del contador cuando inicia el fade a negro
|
||||
@@ -36,8 +42,9 @@ private:
|
||||
// Variables
|
||||
std::vector<Color> color_; // Vector con los colores para el fade
|
||||
int counter_; // Contador
|
||||
Uint32 ticks_; // Contador de ticks para ajustar la velocidad del programa
|
||||
Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa
|
||||
SDL_Point dest_; // Posición X donde dibujar el logo
|
||||
LogoState state_ = LogoState::JAILGAMES; // El estado indica qué logo se está procesando
|
||||
|
||||
// Actualiza las variables
|
||||
void update();
|
||||
@@ -51,9 +58,18 @@ private:
|
||||
// Comprueba las entradas
|
||||
void checkInput();
|
||||
|
||||
// Gestiona el logo de JAILGAME
|
||||
// Gestiona el logo de JAILGAMES
|
||||
void updateJAILGAMES();
|
||||
|
||||
// Gestiona el logo de RETROWEEKEND
|
||||
void updateRETROWEEKEND();
|
||||
|
||||
// Renderiza el logo de JAILGAMES
|
||||
void renderJAILGAMES();
|
||||
|
||||
// Renderiza el logo de RETROWEEKEND
|
||||
void renderRETROWEEKEND();
|
||||
|
||||
// Gestiona el color de las texturas
|
||||
void updateTextureColors();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user