Optimizado TITLE, aun queda por hacer
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user