Trabajando en la pantalla de game over

This commit is contained in:
2022-10-07 18:30:41 +02:00
parent bb20522172
commit 698721ae03
5 changed files with 20 additions and 5 deletions

View File

@@ -44,6 +44,7 @@ Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *scr
skyColorsSprite = new Sprite(0, 0, GAME_WIDTH, GAME_HEIGHT, gameSkyColorsTexture, renderer);
grassSprite = new Sprite(0, 0, 256, 6, gameGrassTexture, renderer);
powerMeterSprite = new Sprite(PLAY_AREA_CENTER_X - 20, 170, 40, 7, gamePowerMeterTexture, renderer);
gameOverSprite = new Sprite(16, 80, 128, 96, gameOverTexture, renderer);
// Inicializa las variables necesarias para la sección 'Game'
init();
@@ -84,6 +85,9 @@ Game::~Game()
gameTextTexture->unload();
delete gameTextTexture;
gameOverTexture->unload();
delete gameOverTexture;
// Animaciones
for (auto animation : playerAnimations)
{
@@ -369,6 +373,7 @@ void Game::loadMedia()
gamePowerMeterTexture = new LTexture(renderer, asset->get("game_power_meter.png"));
gameSkyColorsTexture = new LTexture(renderer, asset->get("game_sky_colors.png"));
gameTextTexture = new LTexture(renderer, asset->get("game_text.png"));
gameOverTexture = new LTexture(renderer, asset->get("menu_game_over.png"));
// Texturas - Globos
LTexture *balloon1Texture = new LTexture(renderer, asset->get("balloon1.png"));
@@ -3355,11 +3360,17 @@ void Game::runGameOverScreen()
// Limpia la pantalla
screen->clean(bgColor);
// Dibujo
gameOverSprite->render();
// Dibuja los objetos
if (numPlayers == 1)
{
textBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 4), lang->getText(43));
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 1), lang->getText(44) + std::to_string(players.at(0)->getScore()));
// Game Over
textBig->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 6), lang->getText(43));
// Your Score
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - (BLOCK * 3), lang->getText(44) + std::to_string(players.at(0)->getScore()));
}
else
{
@@ -3367,7 +3378,8 @@ void Game::runGameOverScreen()
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y - 12, lang->getText(77) + std::to_string(players.at(0)->getScore()));
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y, lang->getText(78) + std::to_string(players.at(1)->getScore()));
}
text->writeCentered(PLAY_AREA_CENTER_X, PLAY_AREA_CENTER_Y + BLOCK * 2, lang->getText(45));
// Continue?
text->writeCentered(99, PLAY_AREA_CENTER_Y + BLOCK * 2, lang->getText(45));
gameOverMenu->render();
fade->render();