Optimizado TITLE, aun queda por hacer

This commit is contained in:
2022-09-29 17:49:43 +02:00
parent fd90a3c66c
commit 0063a2ede5

View File

@@ -234,7 +234,8 @@ void Title::update()
{ {
// Sección 1 - Titulo desplazandose // Sección 1 - Titulo desplazandose
case TITLE_SECTION_1: case TITLE_SECTION_1:
{ // Actualiza los objetos {
// Actualiza los objetos
mCoffeeBitmap->update(); mCoffeeBitmap->update();
mCrisisBitmap->update(); mCrisisBitmap->update();
@@ -247,6 +248,9 @@ void Title::update()
SDL_SetRenderDrawColor(mRenderer, 0xFF, 0xFF, 0xFF, 0xFF); SDL_SetRenderDrawColor(mRenderer, 0xFF, 0xFF, 0xFF, 0xFF);
SDL_RenderClear(mRenderer); SDL_RenderClear(mRenderer);
SDL_RenderPresent(mRenderer); SDL_RenderPresent(mRenderer);
// Reproduce el efecto sonoro
JA_PlaySound(mSound);
} }
} }
break; break;
@@ -254,6 +258,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;
@@ -454,13 +475,24 @@ void Title::render()
// Sección 1 - Titulo desplazandose // Sección 1 - Titulo desplazandose
case TITLE_SECTION_1: case TITLE_SECTION_1:
{ {
mScreen->start(); // Prepara para empezar a dibujar en la textura de juego // Prepara para empezar a dibujar en la textura de juego
mScreen->clean(bgColor); // Limpia la pantalla mScreen->start();
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); // Dibuja el tileado de fondo
mGradient->render(); // Dibuja el degradado // Limpia la pantalla
mCoffeeBitmap->render(); // Dibuja los objetos mScreen->clean(bgColor);
mCrisisBitmap->render(); // Dibuja los objetos
mScreen->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;
@@ -488,13 +520,8 @@ void Title::render()
mGradient->render(); mGradient->render();
// Dibuja los objetos // Dibuja los objetos
mCoffeeBitmap->setPosX(a + v[n / 3]);
mCrisisBitmap->setPosX(b + v[n / 3]);
mCoffeeBitmap->render(); mCoffeeBitmap->render();
mCrisisBitmap->render(); mCrisisBitmap->render();
mDustBitmapR->update();
mDustBitmapL->update();
mDustBitmapR->render(); mDustBitmapR->render();
mDustBitmapL->render(); mDustBitmapL->render();
@@ -502,9 +529,6 @@ void Title::render()
mScreen->blit(); mScreen->blit();
} }
mSection.subsection = TITLE_SECTION_3;
}
break; break;
// Sección 3 - La pantalla de titulo con el menú y la música // Sección 3 - La pantalla de titulo con el menú y la música