Treballant en el segon logo
This commit is contained in:
@@ -19,8 +19,7 @@
|
|||||||
Logo::Logo()
|
Logo::Logo()
|
||||||
: since_texture_(Resource::get()->getTexture("logo_since_1998.png")),
|
: since_texture_(Resource::get()->getTexture("logo_since_1998.png")),
|
||||||
since_sprite_(std::make_unique<Sprite>(since_texture_)),
|
since_sprite_(std::make_unique<Sprite>(since_texture_)),
|
||||||
jail_texture_(Resource::get()->getTexture("logo_jailgames.png")),
|
jail_texture_(Resource::get()->getTexture("logo_jailgames.png"))
|
||||||
ticks_(0)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
@@ -114,7 +113,7 @@ void Logo::checkInput()
|
|||||||
globalInputs::check();
|
globalInputs::check();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Gestiona el logo de JAILGAME
|
// Gestiona el logo de JAILGAMES
|
||||||
void Logo::updateJAILGAMES()
|
void Logo::updateJAILGAMES()
|
||||||
{
|
{
|
||||||
if (counter_ == 30)
|
if (counter_ == 30)
|
||||||
@@ -149,6 +148,11 @@ void Logo::updateJAILGAMES()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gestiona el logo de RETROWEEKEND
|
||||||
|
void Logo::updateRETROWEEKEND()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
// Gestiona el color de las texturas
|
// Gestiona el color de las texturas
|
||||||
void Logo::updateTextureColors()
|
void Logo::updateTextureColors()
|
||||||
{
|
{
|
||||||
@@ -190,11 +194,20 @@ void Logo::update()
|
|||||||
// Comprueba las entradas
|
// Comprueba las entradas
|
||||||
checkInput();
|
checkInput();
|
||||||
|
|
||||||
// Gestiona el logo de JAILGAME
|
switch (state_)
|
||||||
updateJAILGAMES();
|
{
|
||||||
|
case LogoState::JAILGAMES:
|
||||||
|
updateJAILGAMES();
|
||||||
|
updateTextureColors();
|
||||||
|
break;
|
||||||
|
|
||||||
// Gestiona el color de las texturas
|
case LogoState::RETROWEEKEND:
|
||||||
updateTextureColors();
|
updateRETROWEEKEND();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Gestiona el contador y sus eventos
|
// Gestiona el contador y sus eventos
|
||||||
counter_++;
|
counter_++;
|
||||||
@@ -213,24 +226,23 @@ void Logo::update()
|
|||||||
// Dibuja en pantalla
|
// Dibuja en pantalla
|
||||||
void Logo::render()
|
void Logo::render()
|
||||||
{
|
{
|
||||||
// Prepara para empezar a dibujar en la textura de juego
|
|
||||||
Screen::get()->start();
|
Screen::get()->start();
|
||||||
|
|
||||||
// Limpia la pantalla
|
|
||||||
Screen::get()->clean();
|
Screen::get()->clean();
|
||||||
|
|
||||||
// Dibuja los sprites
|
switch (state_)
|
||||||
for (auto &sprite : jail_sprite_)
|
|
||||||
{
|
{
|
||||||
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();
|
Screen::get()->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -247,4 +259,24 @@ void Logo::run()
|
|||||||
checkEvents(); // Tiene que ir antes del render
|
checkEvents(); // Tiene que ir antes del render
|
||||||
render();
|
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
|
class Logo
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
enum class LogoState
|
||||||
|
{
|
||||||
|
JAILGAMES,
|
||||||
|
RETROWEEKEND,
|
||||||
|
};
|
||||||
|
|
||||||
// Constantes
|
// 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 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
|
static constexpr int INIT_FADE_COUNTER_MARK = 300; // Tiempo del contador cuando inicia el fade a negro
|
||||||
@@ -34,10 +40,11 @@ private:
|
|||||||
std::vector<std::unique_ptr<Sprite>> jail_sprite_; // Vector con los sprites de cada linea que forman el bitmap JAILGAMES
|
std::vector<std::unique_ptr<Sprite>> jail_sprite_; // Vector con los sprites de cada linea que forman el bitmap JAILGAMES
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
std::vector<Color> color_; // Vector con los colores para el fade
|
std::vector<Color> color_; // Vector con los colores para el fade
|
||||||
int counter_; // Contador
|
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
|
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
|
// Actualiza las variables
|
||||||
void update();
|
void update();
|
||||||
@@ -51,9 +58,18 @@ private:
|
|||||||
// Comprueba las entradas
|
// Comprueba las entradas
|
||||||
void checkInput();
|
void checkInput();
|
||||||
|
|
||||||
// Gestiona el logo de JAILGAME
|
// Gestiona el logo de JAILGAMES
|
||||||
void updateJAILGAMES();
|
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
|
// Gestiona el color de las texturas
|
||||||
void updateTextureColors();
|
void updateTextureColors();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user