forked from jaildesigner-jailgames/jaildoctors_dilemma
Colision con el suelo terminada
This commit is contained in:
@@ -12,7 +12,7 @@ Game::Game(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, Lang *lang,
|
||||
// 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);
|
||||
mPlayer = new Player(mAsset->get("player01.png"), mRenderer, mAsset, mInput, mRoom);
|
||||
mEventHandler = new SDL_Event();
|
||||
mTextureText = new LTexture();
|
||||
mText = new Text(mAsset->get("smb2.txt"), mTextureText, renderer);
|
||||
@@ -117,6 +117,7 @@ void Game::update()
|
||||
mRoom->update();
|
||||
mPlayer->update();
|
||||
checkPlayerOnBorder();
|
||||
checkPlayerOnFloor();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,6 +176,9 @@ bool Game::changeRoom(std::string file)
|
||||
// Crea un objeto habitación nuevo a partir del fichero
|
||||
mRoom = new Room(mAsset->get(file), mRenderer, mAsset);
|
||||
|
||||
// Comunica al jugador la nueva referencia para la habitación
|
||||
mPlayer->setRoom(mRoom);
|
||||
|
||||
success = true;
|
||||
}
|
||||
|
||||
@@ -189,4 +193,18 @@ void Game::checkPlayerOnBorder()
|
||||
changeRoom(mRoom->getRoom(mPlayer->getBorder()));
|
||||
mPlayer->switchBorders();
|
||||
}
|
||||
}
|
||||
|
||||
// Comprueba si el jugador esta sobre el suelo
|
||||
void Game::checkPlayerOnFloor()
|
||||
{
|
||||
// Comprueba ambos pies
|
||||
if ((mRoom->isFloor(mPlayer->getLeftFoot())) || (mRoom->isFloor(mPlayer->getRightFoot())))
|
||||
{
|
||||
mPlayer->setFalling(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
mPlayer->setFalling(true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user