revisat tabe.cpp, item.cpp i game.cpp
This commit is contained in:
@@ -159,18 +159,18 @@ void Player::move(float deltaTime) {
|
||||
handleRollingMovement();
|
||||
break;
|
||||
case State::TITLE_ANIMATION:
|
||||
handleTitleAnimation();
|
||||
handleTitleAnimation(deltaTime);
|
||||
break;
|
||||
case State::CONTINUE_TIME_OUT:
|
||||
handleContinueTimeOut();
|
||||
break;
|
||||
case State::LEAVING_SCREEN:
|
||||
updateStepCounter(deltaTime);
|
||||
handleLeavingScreen();
|
||||
handleLeavingScreen(deltaTime);
|
||||
break;
|
||||
case State::ENTERING_SCREEN:
|
||||
updateStepCounter(deltaTime);
|
||||
handleEnteringScreen();
|
||||
handleEnteringScreen(deltaTime);
|
||||
break;
|
||||
case State::CREDITS:
|
||||
handleCreditsMovement(deltaTime);
|
||||
@@ -253,10 +253,10 @@ void Player::handleRollingBounce() {
|
||||
playSound("jump.wav");
|
||||
}
|
||||
|
||||
void Player::handleTitleAnimation() {
|
||||
void Player::handleTitleAnimation(float deltaTime) {
|
||||
setInputBasedOnPlayerId();
|
||||
|
||||
pos_x_ += vel_x_ * 2.0F;
|
||||
pos_x_ += (vel_x_ * 2.0F) * deltaTime;
|
||||
const float MIN_X = -WIDTH;
|
||||
const float MAX_X = play_area_.w;
|
||||
pos_x_ = std::clamp(pos_x_, MIN_X, MAX_X);
|
||||
@@ -275,11 +275,11 @@ void Player::handleContinueTimeOut() {
|
||||
}
|
||||
}
|
||||
|
||||
void Player::handleLeavingScreen() {
|
||||
void Player::handleLeavingScreen(float deltaTime) {
|
||||
// updateStepCounter se llama desde move() con deltaTime
|
||||
setInputBasedOnPlayerId();
|
||||
|
||||
pos_x_ += vel_x_;
|
||||
pos_x_ += vel_x_ * deltaTime;
|
||||
const float MIN_X = -WIDTH;
|
||||
const float MAX_X = play_area_.w;
|
||||
pos_x_ = std::clamp(pos_x_, MIN_X, MAX_X);
|
||||
@@ -290,15 +290,15 @@ void Player::handleLeavingScreen() {
|
||||
}
|
||||
}
|
||||
|
||||
void Player::handleEnteringScreen() {
|
||||
void Player::handleEnteringScreen(float deltaTime) {
|
||||
// updateStepCounter se llama desde move() con deltaTime
|
||||
|
||||
switch (id_) {
|
||||
case Id::PLAYER1:
|
||||
handlePlayer1Entering();
|
||||
handlePlayer1Entering(deltaTime);
|
||||
break;
|
||||
case Id::PLAYER2:
|
||||
handlePlayer2Entering();
|
||||
handlePlayer2Entering(deltaTime);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -307,18 +307,18 @@ void Player::handleEnteringScreen() {
|
||||
shiftSprite();
|
||||
}
|
||||
|
||||
void Player::handlePlayer1Entering() {
|
||||
void Player::handlePlayer1Entering(float deltaTime) {
|
||||
setInputPlaying(Input::Action::RIGHT);
|
||||
pos_x_ += vel_x_;
|
||||
pos_x_ += vel_x_ * deltaTime;
|
||||
if (pos_x_ > default_pos_x_) {
|
||||
pos_x_ = default_pos_x_;
|
||||
setPlayingState(State::PLAYING);
|
||||
}
|
||||
}
|
||||
|
||||
void Player::handlePlayer2Entering() {
|
||||
void Player::handlePlayer2Entering(float deltaTime) {
|
||||
setInputPlaying(Input::Action::LEFT);
|
||||
pos_x_ += vel_x_;
|
||||
pos_x_ += vel_x_ * deltaTime;
|
||||
if (pos_x_ < default_pos_x_) {
|
||||
pos_x_ = default_pos_x_;
|
||||
setPlayingState(State::PLAYING);
|
||||
@@ -640,14 +640,14 @@ void Player::setPlayingState(State state) {
|
||||
// Activa la animación de rodar dando botes
|
||||
player_sprite_->setCurrentAnimation("rolling");
|
||||
player_sprite_->setAnimationSpeed(4.0f / 60.0f); // 4 frames convertido a segundos
|
||||
player_sprite_->setVelY(-6.6F); // Velocidad inicial
|
||||
player_sprite_->setAccelY(0.2F); // Gravedad
|
||||
player_sprite_->setVelY(-396.0F); // Velocidad inicial (6.6 * 60 = 396 pixels/s)
|
||||
player_sprite_->setAccelY(12.0F); // Gravedad (0.2 * 60 = 12 pixels/s²)
|
||||
player_sprite_->setPosY(pos_y_ - 2); // Para "sacarlo" del suelo, ya que está hundido un pixel para ocultar el outline de los pies
|
||||
(rand() % 2 == 0) ? player_sprite_->setVelX(3.3F) : player_sprite_->setVelX(-3.3F);
|
||||
(rand() % 2 == 0) ? player_sprite_->setVelX(198.0F) : player_sprite_->setVelX(-198.0F); // 3.3 * 60 = 198 pixels/s
|
||||
break;
|
||||
}
|
||||
case State::TITLE_ANIMATION: {
|
||||
// Activa la animación de rodar
|
||||
// Activa la animación de caminar
|
||||
player_sprite_->setCurrentAnimation("walk");
|
||||
playSound("voice_credit_thankyou.wav");
|
||||
break;
|
||||
@@ -659,8 +659,8 @@ void Player::setPlayingState(State state) {
|
||||
}
|
||||
case State::CONTINUE_TIME_OUT: {
|
||||
// Activa la animación de sacar al jugador de la zona de juego
|
||||
player_sprite_->setAccelY(0.2F);
|
||||
player_sprite_->setVelY(-4.0F);
|
||||
player_sprite_->setAccelY(12.0F); // 0.2 * 60 = 12 pixels/s²
|
||||
player_sprite_->setVelY(-240.0F); // -4.0 * 60 = -240 pixels/s
|
||||
player_sprite_->setVelX(0.0F);
|
||||
player_sprite_->setCurrentAnimation("rolling");
|
||||
player_sprite_->setAnimationSpeed(5.0f / 60.0f); // 5 frames convertido a segundos
|
||||
|
||||
Reference in New Issue
Block a user