Colision con el suelo terminada

This commit is contained in:
2022-07-06 21:04:45 +02:00
parent edba97cfc7
commit 90bbe77f39
6 changed files with 82 additions and 10 deletions

View File

@@ -3,12 +3,13 @@
#include <sstream>
// Constructor
Player::Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset, Input *_input)
Player::Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset, Input *_input, Room *_room)
{
// Obten punteros a objetos
asset = _asset;
renderer = _renderer;
input = _input;
room = _room;
// Crea objetos
texture = new LTexture();
@@ -23,7 +24,9 @@ Player::Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset, Inp
border = BORDER_TOP;
sprite->setPosX(2 * 8);
sprite->setPosX(10 * 8);
sprite->setPosY(12 * 8);
sprite->setPosY(6 * 8);
sprite->setVelX(0);
sprite->setVelY(0);
sprite->setWidth(8);
@@ -108,7 +111,7 @@ int Player::getBorder()
return border;
}
// Comprueba si se halla en alguno de los cuatro bordes
// Comprueba si está situado en alguno de los cuatro bordes
void Player::checkBorders()
{
if (sprite->getPosX() < PLAY_AREA_LEFT)
@@ -158,4 +161,37 @@ void Player::switchBorders()
}
onBorder = false;
}
// Establece el valor de la variable
void Player::setRoom(Room *_room)
{
room = _room;
}
// Obtiene el valor del pixel inferior izquierdo del jugador
SDL_Point Player::getLeftFoot()
{
SDL_Point point = {(int)sprite->getPosX(), (int)sprite->getPosY() + sprite->getHeight()};
return point;
}
// Obtiene el valor del pixel inferior derecho del jugador
SDL_Point Player::getRightFoot()
{
SDL_Point point = {(int)sprite->getPosX() + sprite->getWidth(), (int)sprite->getPosY() + sprite->getHeight()};
return point;
}
// Establece la velocidad en el eje Y al jugador
void Player::setFalling(bool value)
{
if (value)
{
sprite->setVelY(0.5f);
}
else
{
sprite->setVelY(0.0f);
}
}