Afegits rebots en la animació de morir
This commit is contained in:
@@ -182,11 +182,22 @@ void Player::move()
|
|||||||
// Si el cadaver toca el suelo cambia el estado
|
// Si el cadaver toca el suelo cambia el estado
|
||||||
if (player_sprite_->getPosY() > param.game.play_area.rect.h - HEIGHT_)
|
if (player_sprite_->getPosY() > param.game.play_area.rect.h - HEIGHT_)
|
||||||
{
|
{
|
||||||
setPlayingState(PlayerState::DIED);
|
if (player_sprite_->getVelY() < 2.0f)
|
||||||
pos_x_ = player_sprite_->getPosX();
|
{
|
||||||
pos_y_ = default_pos_y_;
|
// Si la velocidad de rebote es baja, termina de rebotar y cambia de estado
|
||||||
player_sprite_->clear();
|
setPlayingState(PlayerState::DIED);
|
||||||
shiftSprite();
|
pos_x_ = player_sprite_->getPosX();
|
||||||
|
pos_y_ = default_pos_y_;
|
||||||
|
player_sprite_->clear();
|
||||||
|
shiftSprite();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Decrementa las velocidades de rebote
|
||||||
|
player_sprite_->setPosY(param.game.play_area.rect.h - HEIGHT_);
|
||||||
|
player_sprite_->setVelY(player_sprite_->getVelY() * -0.5f);
|
||||||
|
player_sprite_->setVelX(player_sprite_->getVelX() * 0.75f);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user