Corregido el orden de ejecución update-checkEvents-render en todas las secciones del juego para evitar que el juego tarde en actualizarse cuando hay muchos eventos
This commit is contained in:
@@ -1739,7 +1739,7 @@ void Game::renderScoreBoard()
|
||||
{
|
||||
if (jscore::getNumUsers() > 0)
|
||||
{
|
||||
const std::string txt = jscore::getUserName(0).substr(0,12) + " - " + updateScoreText((Uint32)jscore::getPoints(0));
|
||||
const std::string txt = jscore::getUserName(0).substr(0, 12) + " - " + updateScoreText((Uint32)jscore::getPoints(0));
|
||||
textScoreBoard->writeCentered(PLAY_AREA_CENTER_X, offset4, txt);
|
||||
}
|
||||
else
|
||||
@@ -2785,9 +2785,6 @@ void Game::updateEnemyDeployCounter()
|
||||
// Actualiza el juego
|
||||
void Game::update()
|
||||
{
|
||||
// Comprueba los eventos que hay en cola
|
||||
checkEventHandler();
|
||||
|
||||
// Comprueba que la diferencia de ticks sea mayor a la velocidad del juego
|
||||
if (SDL_GetTicks() - ticks > ticksSpeed)
|
||||
{
|
||||
@@ -3377,6 +3374,9 @@ section_t Game::run()
|
||||
// Actualiza la lógica del juego
|
||||
update();
|
||||
|
||||
// Comprueba los eventos que hay en cola
|
||||
checkEvents();
|
||||
|
||||
// Dibuja los objetos
|
||||
render();
|
||||
}
|
||||
@@ -3388,9 +3388,6 @@ section_t Game::run()
|
||||
// Actualiza las variables del menu de pausa del juego
|
||||
void Game::updatePausedGame()
|
||||
{
|
||||
// Comprueba los eventos que hay en la cola
|
||||
checkEventHandler();
|
||||
|
||||
// Calcula la lógica de los objetos
|
||||
if (SDL_GetTicks() - ticks > ticksSpeed)
|
||||
{
|
||||
@@ -3525,6 +3522,7 @@ void Game::runPausedGame()
|
||||
while ((section.subsection == GAME_SECTION_PAUSE) && (section.name == PROG_SECTION_GAME))
|
||||
{
|
||||
updatePausedGame();
|
||||
checkEvents();
|
||||
renderPausedGame();
|
||||
}
|
||||
}
|
||||
@@ -3535,26 +3533,6 @@ void Game::updateGameOverScreen()
|
||||
// Variables
|
||||
static int postFade = 0;
|
||||
|
||||
// Comprueba los eventos que hay en la cola
|
||||
while (SDL_PollEvent(eventHandler) != 0)
|
||||
{
|
||||
// Evento de salida de la aplicación
|
||||
if (eventHandler->type == SDL_QUIT)
|
||||
{
|
||||
section.name = PROG_SECTION_QUIT;
|
||||
break;
|
||||
}
|
||||
else if (eventHandler->type == SDL_KEYDOWN && eventHandler->key.repeat == 0)
|
||||
{
|
||||
if (gameCompleted)
|
||||
{
|
||||
postFade = 1;
|
||||
fade->activateFade();
|
||||
JA_PlaySound(itemPickUpSound);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Calcula la lógica de los objetos
|
||||
if (SDL_GetTicks() - ticks > ticksSpeed)
|
||||
{
|
||||
@@ -3615,6 +3593,26 @@ void Game::updateGameOverScreen()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Comprueba los eventos que hay en la cola
|
||||
while (SDL_PollEvent(eventHandler) != 0)
|
||||
{
|
||||
// Evento de salida de la aplicación
|
||||
if (eventHandler->type == SDL_QUIT)
|
||||
{
|
||||
section.name = PROG_SECTION_QUIT;
|
||||
break;
|
||||
}
|
||||
else if (eventHandler->type == SDL_KEYDOWN && eventHandler->key.repeat == 0)
|
||||
{
|
||||
if (gameCompleted)
|
||||
{
|
||||
postFade = 1;
|
||||
fade->activateFade();
|
||||
JA_PlaySound(itemPickUpSound);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dibuja los elementos de la pantalla de game over
|
||||
@@ -3859,7 +3857,7 @@ bool Game::allPlayersAreDead()
|
||||
}
|
||||
|
||||
// Comprueba los eventos que hay en cola
|
||||
void Game::checkEventHandler()
|
||||
void Game::checkEvents()
|
||||
{
|
||||
while (SDL_PollEvent(eventHandler) != 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user