2 Commits

View File

@@ -199,9 +199,10 @@ void Title::update()
{ {
// Sección 1 - Titulo desplazandose // Sección 1 - Titulo desplazandose
case TITLE_SECTION_1: case TITLE_SECTION_1:
{ // Actualiza los objetos {
coffeeBitmap->update(); // Actualiza los objetos
crisisBitmap->update(); mCoffeeBitmap->update();
mCrisisBitmap->update();
// Si los objetos han llegado a su destino, cambiamos de Sección // Si los objetos han llegado a su destino, cambiamos de Sección
if (coffeeBitmap->hasFinished() && crisisBitmap->hasFinished()) if (coffeeBitmap->hasFinished() && crisisBitmap->hasFinished())
@@ -209,9 +210,12 @@ void Title::update()
section.subsection = TITLE_SECTION_2; section.subsection = TITLE_SECTION_2;
// Pantallazo blanco // Pantallazo blanco
SDL_SetRenderDrawColor(renderer, 0xFF, 0xFF, 0xFF, 0xFF); SDL_SetRenderDrawColor(mRenderer, 0xFF, 0xFF, 0xFF, 0xFF);
SDL_RenderClear(renderer); SDL_RenderClear(mRenderer);
SDL_RenderPresent(renderer); SDL_RenderPresent(mRenderer);
// Reproduce el efecto sonoro
JA_PlaySound(mSound);
} }
} }
break; break;
@@ -219,6 +223,23 @@ void Title::update()
// Sección 2 - Titulo vibrando // Sección 2 - Titulo vibrando
case TITLE_SECTION_2: case TITLE_SECTION_2:
{ {
// Agita la pantalla
static const int v[] = {-1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, -1, 1, 0};
static const int a = mCoffeeBitmap->getPosX();
static const int b = mCrisisBitmap->getPosX();
static int step = 0;
mCoffeeBitmap->setPosX(a + v[step / 3]);
mCrisisBitmap->setPosX(b + v[step / 3]);
mDustBitmapR->update();
mDustBitmapL->update();
step++;
if (step == 33)
{
mSection.subsection = TITLE_SECTION_3;
}
} }
break; break;
@@ -419,13 +440,24 @@ void Title::render()
// Sección 1 - Titulo desplazandose // Sección 1 - Titulo desplazandose
case TITLE_SECTION_1: case TITLE_SECTION_1:
{ {
screen->start(); // Prepara para empezar a dibujar en la textura de juego // Prepara para empezar a dibujar en la textura de juego
screen->clean(bgColor); // Limpia la pantalla mScreen->start();
SDL_RenderCopy(renderer, background, &backgroundWindow, nullptr); // Dibuja el tileado de fondo
gradient->render(); // Dibuja el degradado // Limpia la pantalla
coffeeBitmap->render(); // Dibuja los objetos mScreen->clean(bgColor);
crisisBitmap->render(); // Dibuja los objetos
screen->blit(); // Vuelca el contenido del renderizador en pantalla // Dibuja el tileado de fondo
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr);
// Dibuja el degradado
mGradient->render();
// Dibuja los objetos
mCoffeeBitmap->render();
mCrisisBitmap->render();
// Vuelca el contenido del renderizador en pantalla
mScreen->blit();
} }
break; break;