forked from jaildesigner-jailgames/jaildoctors_dilemma
Voy a implementar una clase para mostrar el informacion de debug en pantalla
This commit is contained in:
@@ -240,35 +240,20 @@ void Player::move()
|
|||||||
// Comprueba colisiones con rampas
|
// Comprueba colisiones con rampas
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tile_e slope = checkUpSlopes();
|
tile_e slope = checkSlopes();
|
||||||
if (slope != t_empty)
|
if (slope != t_empty)
|
||||||
{ // Se mueve hacia la derecha y cuesta hacia la derecha
|
{ // Cuesta hacia la derecha
|
||||||
if (sprite->getFlip() == SDL_FLIP_NONE && slope == t_slope_r)
|
if (slope == t_slope_r)
|
||||||
{ // Recoloca
|
{ // Recoloca
|
||||||
y = -h + room->getSlopeHeight(feet[1], t_slope_r);
|
y = -h + room->getSlopeHeight(feet[1], t_slope_r);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se mueve hacia la izquierda y cuesta hacia la izquierda
|
// Cuesta hacia la izquierda
|
||||||
if (sprite->getFlip() == SDL_FLIP_HORIZONTAL && slope == t_slope_l)
|
if (slope == t_slope_l)
|
||||||
{ // Recoloca
|
{ // Recoloca
|
||||||
y = -h + room->getSlopeHeight(feet[0], t_slope_l);
|
y = -h + room->getSlopeHeight(feet[0], t_slope_l);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
slope = checkDownSlopes();
|
|
||||||
if (slope != t_empty)
|
|
||||||
{ // Se mueve hacia la derecha y cuesta hacia la izquierda
|
|
||||||
if (sprite->getFlip() == SDL_FLIP_NONE && slope == t_slope_l)
|
|
||||||
{ // Recoloca
|
|
||||||
y = -h + room->getSlopeHeight(underFeet[0], t_slope_l);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Se mueve hacia la izquierda y cuesta hacia la derecha
|
|
||||||
if (sprite->getFlip() == SDL_FLIP_HORIZONTAL && slope == t_slope_r)
|
|
||||||
{ // Recoloca
|
|
||||||
y = -h + room->getSlopeHeight(underFeet[1], t_slope_r);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
y += vy;
|
y += vy;
|
||||||
@@ -345,7 +330,7 @@ void Player::move()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// EXPERIMENTAL
|
// EXPERIMENTAL
|
||||||
else if (checkUpSlopes() || checkDownSlopes())
|
else if (checkSlopes())
|
||||||
{
|
{
|
||||||
state = s_standing;
|
state = s_standing;
|
||||||
vy = 0.0f;
|
vy = 0.0f;
|
||||||
@@ -413,7 +398,7 @@ bool Player::checkWalls()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba si el jugador está en una rampa
|
// Comprueba si el jugador está en una rampa
|
||||||
tile_e Player::checkUpSlopes()
|
tile_e Player::checkSlopes()
|
||||||
{
|
{
|
||||||
// Actualiza los puntos de colisión
|
// Actualiza los puntos de colisión
|
||||||
updateFeet();
|
updateFeet();
|
||||||
@@ -441,35 +426,6 @@ tile_e Player::checkUpSlopes()
|
|||||||
return t_empty;
|
return t_empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Comprueba si el jugador está en una rampa
|
|
||||||
tile_e Player::checkDownSlopes()
|
|
||||||
{
|
|
||||||
// Actualiza los puntos de colisión
|
|
||||||
updateFeet();
|
|
||||||
|
|
||||||
bool slope_l = false;
|
|
||||||
bool slope_r = false;
|
|
||||||
|
|
||||||
// Comprueba si ha colisionado con una rampa
|
|
||||||
for (auto f : underFeet)
|
|
||||||
{
|
|
||||||
slope_l |= (room->getTile(f) == t_slope_l);
|
|
||||||
slope_r |= (room->getTile(f) == t_slope_r);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (slope_l)
|
|
||||||
{
|
|
||||||
return t_slope_l;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (slope_r)
|
|
||||||
{
|
|
||||||
return t_slope_r;
|
|
||||||
}
|
|
||||||
|
|
||||||
return t_empty;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Obtiene algunos parametros del jugador
|
// Obtiene algunos parametros del jugador
|
||||||
player_t Player::getSpawnParams()
|
player_t Player::getSpawnParams()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -91,10 +91,7 @@ public:
|
|||||||
bool checkWalls();
|
bool checkWalls();
|
||||||
|
|
||||||
// Comprueba si el jugador está en una rampa
|
// Comprueba si el jugador está en una rampa
|
||||||
tile_e checkUpSlopes();
|
tile_e checkSlopes();
|
||||||
|
|
||||||
// Comprueba si el jugador está en una rampa
|
|
||||||
tile_e checkDownSlopes();
|
|
||||||
|
|
||||||
// Actualiza los puntos de colisión
|
// Actualiza los puntos de colisión
|
||||||
void updateColliderPoints();
|
void updateColliderPoints();
|
||||||
|
|||||||
Reference in New Issue
Block a user