Arreglada la animació de morir, que s'updatava dos voltes per frame
This commit is contained in:
@@ -175,39 +175,27 @@ void Player::move()
|
||||
// Mueve el jugador a derecha o izquierda
|
||||
pos_x_ += vel_x_;
|
||||
|
||||
// Si el jugador abandona el area de juego por los laterales
|
||||
if ((pos_x_ < param.game.play_area.rect.x - 5) || (pos_x_ + WIDTH_ > play_area_.w + 5))
|
||||
{
|
||||
// Restaura su posición
|
||||
pos_x_ -= vel_x_;
|
||||
}
|
||||
// Si el jugador abandona el area de juego por los laterales, restaura su posición
|
||||
const float min_x = param.game.play_area.rect.x - 5;
|
||||
const float max_x = play_area_.w + 5 - WIDTH_;
|
||||
if ((pos_x_ < min_x) || (pos_x_ > max_x))
|
||||
pos_x_ = std::clamp(pos_x_, min_x, max_x);
|
||||
|
||||
// Actualiza la posición del sprite
|
||||
player_sprite_->setPosX(getPosX());
|
||||
player_sprite_->setPosX(pos_x_);
|
||||
player_sprite_->setPosY(pos_y_);
|
||||
|
||||
power_sprite_->setPosX(getPosX() - power_up_desp_x_);
|
||||
}
|
||||
else if (isDying())
|
||||
{
|
||||
player_sprite_->update();
|
||||
|
||||
// Si el cadaver abandona el area de juego por los laterales
|
||||
// Si el cadaver abandona el area de juego por los laterales lo hace rebotar
|
||||
if ((player_sprite_->getPosX() < param.game.play_area.rect.x) || (player_sprite_->getPosX() + WIDTH_ > play_area_.w))
|
||||
{
|
||||
// Restaura su posición
|
||||
const float vx = player_sprite_->getVelX();
|
||||
player_sprite_->setPosX(player_sprite_->getPosX() - vx);
|
||||
|
||||
// Rebota
|
||||
player_sprite_->setVelX(-vx);
|
||||
}
|
||||
player_sprite_->setVelX(-player_sprite_->getVelX());
|
||||
|
||||
// Si el cadaver abandona el area de juego por abajo
|
||||
if (player_sprite_->getPosY() > param.game.play_area.rect.h)
|
||||
{
|
||||
setStatusPlaying(PlayerStatus::DIED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,12 +203,8 @@ void Player::move()
|
||||
void Player::render()
|
||||
{
|
||||
if (power_up_ && isPlaying())
|
||||
{
|
||||
if (power_up_counter_ > (POWERUP_COUNTER_ / 4) || power_up_counter_ % 20 > 4)
|
||||
{
|
||||
power_sprite_->render();
|
||||
}
|
||||
}
|
||||
|
||||
if (isRenderable())
|
||||
player_sprite_->render();
|
||||
@@ -270,16 +254,14 @@ void Player::setAnimation()
|
||||
}
|
||||
|
||||
// Actualiza las animaciones de los sprites
|
||||
player_sprite_->update();
|
||||
|
||||
// powerSprite->setFlip(flip_walk);
|
||||
player_sprite_->update(); // Hace avanzar las animaciones y mueve el cadaver del jugador
|
||||
power_sprite_->update();
|
||||
}
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
int Player::getPosX() const
|
||||
{
|
||||
return int(pos_x_);
|
||||
return static_cast<int>(pos_x_);
|
||||
}
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
|
||||
Reference in New Issue
Block a user