fix: no actualitzava correctament la caixa de colisions del jugador al canviar d'habitació

This commit is contained in:
2025-03-20 13:37:17 +01:00
parent d4acb38c05
commit 73008992e0

View File

@@ -202,26 +202,34 @@ void Player::checkState()
// Cambia al jugador de un borde al opuesto. Util para el cambio de pantalla
void Player::switchBorders()
{
if (border_ == BORDER_TOP)
switch (border_)
{
y_ = PLAY_AREA_BOTTOM - HEIGHT_ - 0 - BLOCK;
case BORDER_TOP:
y_ = PLAY_AREA_BOTTOM - HEIGHT_ - BLOCK;
setState(PlayerState::STANDING);
}
else if (border_ == BORDER_BOTTOM)
{
y_ = PLAY_AREA_TOP + 0;
break;
case BORDER_BOTTOM:
y_ = PLAY_AREA_TOP;
setState(PlayerState::STANDING);
}
else if (border_ == BORDER_RIGHT)
{
x_ = PLAY_AREA_LEFT + 0;
}
if (border_ == BORDER_LEFT)
{
x_ = PLAY_AREA_RIGHT - WIDTH_ - 0;
break;
case BORDER_RIGHT:
x_ = PLAY_AREA_LEFT;
break;
case BORDER_LEFT:
x_ = PLAY_AREA_RIGHT - WIDTH_;
break;
default:
// Manejo para casos no previstos (opcional)
break;
}
is_on_border_ = false;
placeSprite();
collider_box_ = getRect();
}
// Aplica gravedad al jugador