Recarga de texturas en el cambio de modo de video
This commit is contained in:
@@ -12,7 +12,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, D
|
|||||||
this->debug->setEnabled(true);
|
this->debug->setEnabled(true);
|
||||||
|
|
||||||
// Reserva memoria para los objetos
|
// Reserva memoria para los objetos
|
||||||
scoreboard = new ScoreBoard(renderer, asset, &board);
|
scoreboard = new ScoreBoard(renderer, asset, &board);
|
||||||
eventHandler = new SDL_Event();
|
eventHandler = new SDL_Event();
|
||||||
itemTracker = new ItemTracker();
|
itemTracker = new ItemTracker();
|
||||||
map = new Map(asset->get("01.map"), renderer, asset, itemTracker);
|
map = new Map(asset->get("01.map"), renderer, asset, itemTracker);
|
||||||
@@ -77,19 +77,19 @@ void Game::update()
|
|||||||
{
|
{
|
||||||
// Actualiza el contador de ticks
|
// Actualiza el contador de ticks
|
||||||
ticks = SDL_GetTicks();
|
ticks = SDL_GetTicks();
|
||||||
|
|
||||||
// Comprueba los eventos de la cola
|
|
||||||
checkEventHandler();
|
|
||||||
|
|
||||||
// Actualiza los objetos
|
// Comprueba los eventos de la cola
|
||||||
debug->clear();
|
checkEventHandler();
|
||||||
|
|
||||||
|
// Actualiza los objetos
|
||||||
|
debug->clear();
|
||||||
scoreboard->update();
|
scoreboard->update();
|
||||||
map->update();
|
map->update();
|
||||||
enemyEngine->update();
|
enemyEngine->update();
|
||||||
player->update();
|
player->update();
|
||||||
checkScreenBorders();
|
checkScreenBorders();
|
||||||
|
|
||||||
updateDebugInfo();
|
updateDebugInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@ void Game::checkEventHandler()
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_SCANCODE_D:
|
case SDL_SCANCODE_D:
|
||||||
debug->switchEnabled();
|
debug->switchEnabled();
|
||||||
musicEnabled = !debug->getEnabled();
|
musicEnabled = !debug->getEnabled();
|
||||||
musicEnabled ? JA_ResumeMusic() : JA_PauseMusic();
|
musicEnabled ? JA_ResumeMusic() : JA_PauseMusic();
|
||||||
break;
|
break;
|
||||||
@@ -151,22 +151,27 @@ void Game::checkEventHandler()
|
|||||||
|
|
||||||
case SDL_SCANCODE_F:
|
case SDL_SCANCODE_F:
|
||||||
screen->switchVideoMode();
|
screen->switchVideoMode();
|
||||||
|
reLoadTextures();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_SCANCODE_F1:
|
case SDL_SCANCODE_F1:
|
||||||
screen->setWindowSize(1);
|
screen->setWindowSize(1);
|
||||||
|
reLoadTextures();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_SCANCODE_F2:
|
case SDL_SCANCODE_F2:
|
||||||
screen->setWindowSize(2);
|
screen->setWindowSize(2);
|
||||||
|
reLoadTextures();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_SCANCODE_F3:
|
case SDL_SCANCODE_F3:
|
||||||
screen->setWindowSize(3);
|
screen->setWindowSize(3);
|
||||||
|
reLoadTextures();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SDL_SCANCODE_F4:
|
case SDL_SCANCODE_F4:
|
||||||
screen->setWindowSize(4);
|
screen->setWindowSize(4);
|
||||||
|
reLoadTextures();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -201,7 +206,7 @@ void Game::renderDebugInfo()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pinta la rejilla
|
// Pinta la rejilla
|
||||||
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 16);
|
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 16);
|
||||||
for (int i = 0; i < 240; i += 8)
|
for (int i = 0; i < 240; i += 8)
|
||||||
{
|
{
|
||||||
@@ -257,4 +262,12 @@ void Game::checkScreenBorders()
|
|||||||
player->switchBorders();
|
player->switchBorders();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recarga las texturas
|
||||||
|
void Game::reLoadTextures()
|
||||||
|
{
|
||||||
|
map->reLoadTextures();
|
||||||
|
player->reLoadTextures();
|
||||||
|
scoreboard->reLoadTexture();
|
||||||
}
|
}
|
||||||
@@ -58,6 +58,9 @@ private:
|
|||||||
// Comprueba si el jugador está en el borde y se ha de cambiar el mapa
|
// Comprueba si el jugador está en el borde y se ha de cambiar el mapa
|
||||||
void checkScreenBorders();
|
void checkScreenBorders();
|
||||||
|
|
||||||
|
// Recarga las texturas
|
||||||
|
void reLoadTextures();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Constructor
|
// Constructor
|
||||||
Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, Debug *debug);
|
Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, Debug *debug);
|
||||||
|
|||||||
@@ -668,4 +668,11 @@ void Map::getItem(int index)
|
|||||||
std::string Map::getEnemyFile()
|
std::string Map::getEnemyFile()
|
||||||
{
|
{
|
||||||
return enemy_file;
|
return enemy_file;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recarga las texturas
|
||||||
|
void Map::reLoadTextures()
|
||||||
|
{
|
||||||
|
texture_tile->reLoad();
|
||||||
|
fillMapTexture();
|
||||||
}
|
}
|
||||||
@@ -123,6 +123,9 @@ public:
|
|||||||
|
|
||||||
// Obtiene el valor de la variable
|
// Obtiene el valor de la variable
|
||||||
std::string getEnemyFile();
|
std::string getEnemyFile();
|
||||||
|
|
||||||
|
// Recarga las texturas
|
||||||
|
void reLoadTextures();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -480,4 +480,10 @@ int Player::checkActors()
|
|||||||
}
|
}
|
||||||
|
|
||||||
return index;
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recarga las texturas
|
||||||
|
void Player::reLoadTextures()
|
||||||
|
{
|
||||||
|
texture->reLoad();
|
||||||
}
|
}
|
||||||
@@ -119,6 +119,9 @@ public:
|
|||||||
|
|
||||||
// Pasa la referencia del mapa
|
// Pasa la referencia del mapa
|
||||||
void setMap(Map *map);
|
void setMap(Map *map);
|
||||||
|
|
||||||
|
// Recarga las texturas
|
||||||
|
void reLoadTextures();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user