Trabajando con el isOnFloor y los tiles passable

This commit is contained in:
2022-08-19 14:05:56 +02:00
parent 5144a14bcd
commit 8765049b69
3 changed files with 8 additions and 3 deletions

View File

@@ -243,7 +243,7 @@ t_tile_map Map::getTile(SDL_Point p)
} }
// Devuelve el valor de la variable // Devuelve el valor de la variable
int Map::getTileWidth() int Map::getTileSize()
{ {
return tile_size; return tile_size;
} }

View File

@@ -67,7 +67,7 @@ public:
t_tile_map getTile(SDL_Point p); t_tile_map getTile(SDL_Point p);
// Devuelve el valor de la variable // Devuelve el valor de la variable
int getTileWidth(); int getTileSize();
}; };
#endif #endif

View File

@@ -198,7 +198,7 @@ bool Player::checkMapCollisions()
// Mueve al jugador en función de la velocidad/desplazamiento // Mueve al jugador en función de la velocidad/desplazamiento
void Player::move() void Player::move()
{ {
const int tile = map->getTileWidth(); const int tile = map->getTileSize();
x += vx; x += vx;
if (checkMapCollisions()) if (checkMapCollisions())
@@ -273,6 +273,11 @@ bool Player::isOnFloor()
updateFeet(); updateFeet();
if (underFeet[0].y % map->getTileSize() != 0)
{
return false;
}
for (auto f : underFeet) for (auto f : underFeet)
{ {
onFloor |= ((map->getTile(f) == wall) || (map->getTile(f) == passable)); onFloor |= ((map->getTile(f) == wall) || (map->getTile(f) == passable));