shakeScreen ya no detiene la ejecución del programa
This commit is contained in:
@@ -215,7 +215,7 @@ void Game::init()
|
||||
players.push_back(player2);
|
||||
}
|
||||
|
||||
// Inicializa las variables
|
||||
// Variables relacionadas con la dificultad
|
||||
switch (difficulty)
|
||||
{
|
||||
case DIFFICULTY_EASY:
|
||||
@@ -246,18 +246,18 @@ void Game::init()
|
||||
break;
|
||||
}
|
||||
|
||||
// Marcador
|
||||
scoreboard->setPos({10, 10, 256-20, 32});
|
||||
// Variables para el marcador
|
||||
scoreboard->setPos({0, 160, 256, 32});
|
||||
if (difficulty == DIFFICULTY_NORMAL)
|
||||
{
|
||||
scoreboard->setColor({46, 63, 71});
|
||||
scoreboard->setColor({255, 63, 71});
|
||||
}
|
||||
else
|
||||
{
|
||||
scoreboard->setColor(difficultyColor);
|
||||
}
|
||||
|
||||
// Resto de variables
|
||||
gameCompleted = false;
|
||||
gameCompletedCounter = 0;
|
||||
section->name = SECTION_PROG_GAME;
|
||||
@@ -2545,7 +2545,6 @@ void Game::killPlayer(Player *player)
|
||||
stopAllBalloons(10);
|
||||
JA_PlaySound(playerCollisionSound);
|
||||
shakeScreen();
|
||||
SDL_Delay(500);
|
||||
JA_PlaySound(coffeeOutSound);
|
||||
player->setAlive(false);
|
||||
if (allPlayersAreDead())
|
||||
@@ -2641,6 +2640,9 @@ void Game::update()
|
||||
// Actualiza el contador de juego
|
||||
counter++;
|
||||
|
||||
// Actualiza el objeto screen
|
||||
screen->update();
|
||||
|
||||
// Comprueba el teclado/mando
|
||||
checkGameInput();
|
||||
|
||||
@@ -2798,6 +2800,14 @@ void Game::renderBackground()
|
||||
grassSprite->render();
|
||||
}
|
||||
|
||||
// Dibuja la linea que separa la zona ade juego del marcador
|
||||
void Game::renderSeparator()
|
||||
{
|
||||
// Dibuja la linea que separa el marcador de la zona de juego
|
||||
SDL_SetRenderDrawColor(renderer, 13, 26, 43, 255);
|
||||
SDL_RenderDrawLine(renderer, 0, 160, 255, 160);
|
||||
}
|
||||
|
||||
// Dibuja el juego
|
||||
void Game::render()
|
||||
{
|
||||
@@ -2815,6 +2825,7 @@ void Game::render()
|
||||
renderItems();
|
||||
renderSmartSprites();
|
||||
scoreboard->render();
|
||||
renderSeparator();
|
||||
renderPlayers();
|
||||
|
||||
if ((deathCounter <= 150) && !players[0]->isAlive())
|
||||
@@ -3149,41 +3160,7 @@ void Game::disableTimeStopItem()
|
||||
// Agita la pantalla
|
||||
void Game::shakeScreen()
|
||||
{
|
||||
const int v[] = {-1, 1, -1, 1, -1, 1, -1, 0};
|
||||
for (int n = 0; n < 8; ++n)
|
||||
{
|
||||
// Prepara para empezar a dibujar en la textura de juego
|
||||
screen->start();
|
||||
|
||||
// Limpia la pantalla
|
||||
screen->clean(bgColor);
|
||||
|
||||
// Dibuja los objetos
|
||||
buildingsSprite->setPosX(0);
|
||||
buildingsSprite->setWidth(1);
|
||||
buildingsSprite->setSpriteClip(0, 0, 1, 160);
|
||||
renderBackground();
|
||||
|
||||
buildingsSprite->setPosX(255);
|
||||
buildingsSprite->setSpriteClip(255, 0, 1, 160);
|
||||
buildingsSprite->render();
|
||||
|
||||
buildingsSprite->setPosX(v[n]);
|
||||
buildingsSprite->setWidth(256);
|
||||
buildingsSprite->setSpriteClip(0, 0, 256, 160);
|
||||
buildingsSprite->render();
|
||||
|
||||
grassSprite->render();
|
||||
renderBalloons();
|
||||
renderBullets();
|
||||
renderItems();
|
||||
renderPlayers();
|
||||
scoreboard->render();
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
screen->blit();
|
||||
SDL_Delay(50);
|
||||
}
|
||||
screen->startShake();
|
||||
}
|
||||
|
||||
// Bucle para el juego
|
||||
|
||||
Reference in New Issue
Block a user