El jugador ya cambia de pantalla
This commit is contained in:
@@ -9,8 +9,10 @@ Game::Game(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, Lang *lang,
|
||||
mLang = lang;
|
||||
mInput = input;
|
||||
|
||||
// Crea los objetos
|
||||
mScreen = new Screen(window, renderer);
|
||||
mRoom = new Room(mAsset->get("01.room"), mRenderer, mAsset);
|
||||
mPlayer = new Player(mAsset->get("player01.png"), mRenderer, mAsset, mInput);
|
||||
mEventHandler = new SDL_Event();
|
||||
mTextureText = new LTexture();
|
||||
mText = new Text(mAsset->get("smb2.txt"), mTextureText, renderer);
|
||||
@@ -19,11 +21,13 @@ Game::Game(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, Lang *lang,
|
||||
|
||||
Game::~Game()
|
||||
{
|
||||
// Borra las referencias a los punteros
|
||||
mRenderer = nullptr;
|
||||
mAsset = nullptr;
|
||||
mLang = nullptr;
|
||||
mInput = nullptr;
|
||||
|
||||
// Libera la memoria de los objetos
|
||||
delete mEventHandler;
|
||||
mEventHandler = nullptr;
|
||||
|
||||
@@ -37,6 +41,9 @@ Game::~Game()
|
||||
delete mRoom;
|
||||
mRoom = nullptr;
|
||||
|
||||
delete mRoom;
|
||||
mRoom = nullptr;
|
||||
|
||||
delete mText;
|
||||
mText = nullptr;
|
||||
|
||||
@@ -108,6 +115,8 @@ void Game::update()
|
||||
|
||||
checkInput();
|
||||
mRoom->update();
|
||||
mPlayer->update();
|
||||
checkPlayerOnBorder();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,6 +131,7 @@ void Game::draw()
|
||||
|
||||
mRoom->drawMap();
|
||||
mRoom->drawEnemies();
|
||||
mPlayer->draw();
|
||||
|
||||
// Texto en el centro de la pantalla
|
||||
mText->writeCentered(GAMECANVAS_CENTER_X, 18 * 8, mRoom->getName());
|
||||
@@ -133,8 +143,9 @@ void Game::draw()
|
||||
// Comprueba la entrada
|
||||
void Game::checkInput()
|
||||
{
|
||||
/*
|
||||
if (mInput->checkInput(INPUT_UP, REPEAT_FALSE))
|
||||
changeRoom(mRoom->getRoomUp());
|
||||
changeRoom(mRoom->getRoomUp());
|
||||
|
||||
if (mInput->checkInput(INPUT_DOWN, REPEAT_FALSE))
|
||||
changeRoom(mRoom->getRoomDown());
|
||||
@@ -144,6 +155,7 @@ void Game::checkInput()
|
||||
|
||||
if (mInput->checkInput(INPUT_RIGHT, REPEAT_FALSE))
|
||||
changeRoom(mRoom->getRoomRight());
|
||||
*/
|
||||
}
|
||||
|
||||
// Cambia de habitación
|
||||
@@ -165,6 +177,16 @@ bool Game::changeRoom(std::string file)
|
||||
|
||||
success = true;
|
||||
}
|
||||
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
// Comprueba si el jugador esta en el borde de la pantalla
|
||||
void Game::checkPlayerOnBorder()
|
||||
{
|
||||
if (mPlayer->getOnBorder())
|
||||
{
|
||||
changeRoom(mRoom->getRoom(mPlayer->getBorder()));
|
||||
mPlayer->switchBorders();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user