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
case TITLE_SECTION_1:
{ // Actualiza los objetos
{
// Actualiza los objetos
mCoffeeBitmap->update();
mCrisisBitmap->update();
@@ -247,6 +248,9 @@ void Title::update()
SDL_SetRenderDrawColor(mRenderer, 0xFF, 0xFF, 0xFF, 0xFF);
SDL_RenderClear(mRenderer);
SDL_RenderPresent(mRenderer);
// Reproduce el efecto sonoro
JA_PlaySound(mSound);
}
}
break;
@@ -254,6 +258,23 @@ void Title::update()
// Sección 2 - Titulo vibrando
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;
@@ -454,13 +475,24 @@ void Title::render()
// Sección 1 - Titulo desplazandose
case TITLE_SECTION_1:
{
mScreen->start(); // Prepara para empezar a dibujar en la textura de juego
mScreen->clean(bgColor); // Limpia la pantalla
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr); // Dibuja el tileado de fondo
mGradient->render(); // Dibuja el degradado
mCoffeeBitmap->render(); // Dibuja los objetos
mCrisisBitmap->render(); // Dibuja los objetos
mScreen->blit(); // Vuelca el contenido del renderizador en pantalla
// Prepara para empezar a dibujar en la textura de juego
mScreen->start();
// Limpia la pantalla
mScreen->clean(bgColor);
// 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;
@@ -474,35 +506,27 @@ void Title::render()
const int a = mCoffeeBitmap->getPosX();
const int b = mCrisisBitmap->getPosX();
for (int n = 0; n < 11 * 3; ++n)
{
// Prepara para empezar a dibujar en la textura de juego
mScreen->start();
{
// Prepara para empezar a dibujar en la textura de juego
mScreen->start();
// Limpia la pantalla
mScreen->clean(bgColor);
// Limpia la pantalla
mScreen->clean(bgColor);
// Dibuja el tileado de fondo
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr);
// Dibuja el tileado de fondo
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, nullptr);
// Dibuja el degradado
mGradient->render();
// Dibuja el degradado
mGradient->render();
// Dibuja los objetos
mCoffeeBitmap->setPosX(a + v[n / 3]);
mCrisisBitmap->setPosX(b + v[n / 3]);
mCoffeeBitmap->render();
mCrisisBitmap->render();
// Dibuja los objetos
mCoffeeBitmap->render();
mCrisisBitmap->render();
mDustBitmapR->render();
mDustBitmapL->render();
mDustBitmapR->update();
mDustBitmapL->update();
mDustBitmapR->render();
mDustBitmapL->render();
// Vuelca el contenido del renderizador en pantalla
mScreen->blit();
}
mSection.subsection = TITLE_SECTION_3;
// Vuelca el contenido del renderizador en pantalla
mScreen->blit();
}
break;