Convertido el juego a mapas con tiles de 8x8
This commit is contained in:
@@ -43,8 +43,8 @@ Player::Player(SDL_Renderer *renderer, Asset *asset, Input *input, Map *map)
|
||||
coins = 0;
|
||||
key.insert(key.end(), {0, 0, 0, 0, 0, 0});
|
||||
const SDL_Point p = {0, 0};
|
||||
collider.insert(collider.end(), {p, p, p, p, p, p});
|
||||
underFeet.insert(underFeet.end(), {p, p});
|
||||
collider.insert(collider.end(), {p, p, p, p, p, p, p, p, p, p, p, p});
|
||||
underFeet.insert(underFeet.end(), {p, p, p});
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@@ -139,15 +139,33 @@ void Player::updateColliders()
|
||||
{
|
||||
const SDL_Point p = {(int)x, (int)y};
|
||||
|
||||
// Lado izquierdo
|
||||
collider[0] = p;
|
||||
collider[1] = {p.x, p.y + 12};
|
||||
collider[2] = {p.x, p.y + 23};
|
||||
collider[3] = {p.x + 15, p.y};
|
||||
collider[4] = {p.x + 15, p.y + 12};
|
||||
collider[5] = {p.x + 15, p.y + 23};
|
||||
collider[1] = {p.x, p.y + 7};
|
||||
collider[2] = {p.x, p.y + 12};
|
||||
collider[3] = {p.x, p.y + 18};
|
||||
collider[4] = {p.x, p.y + 23};
|
||||
|
||||
// Lado derecho
|
||||
collider[5] = {p.x + 15, p.y};
|
||||
collider[6] = {p.x + 15, p.y + 7};
|
||||
collider[7] = {p.x + 15, p.y + 12};
|
||||
collider[8] = {p.x + 15, p.y + 18};
|
||||
collider[9] = {p.x + 15, p.y + 23};
|
||||
|
||||
// Centro
|
||||
collider[10] = {p.x + 7, p.y};
|
||||
collider[11] = {p.x + 7, p.y + 23};
|
||||
}
|
||||
|
||||
// Actualiza los puntos de los pies
|
||||
void Player::updateFeet()
|
||||
{
|
||||
const SDL_Point p = {(int)x, (int)y};
|
||||
|
||||
underFeet[0] = {p.x, p.y + 24};
|
||||
underFeet[1] = {p.x + 15, p.y + 24};
|
||||
underFeet[1] = {p.x + 7, p.y + 24};
|
||||
underFeet[2] = {p.x + 15, p.y + 24};
|
||||
}
|
||||
|
||||
// Compruena las colisiones con el mapa
|
||||
@@ -224,7 +242,7 @@ void Player::animate()
|
||||
}
|
||||
else
|
||||
{
|
||||
if (abs(vx) < 1.00f)
|
||||
if (abs(vx) < 0.50f)
|
||||
{
|
||||
sprite->setCurrentAnimation("stand");
|
||||
}
|
||||
@@ -242,7 +260,7 @@ bool Player::isOnFloor()
|
||||
{
|
||||
bool onFloor = false;
|
||||
|
||||
updateColliders();
|
||||
updateFeet();
|
||||
|
||||
for (auto f : underFeet)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user