time-based: Game::update(dt_s) sense gate, propaga dt a totes les entitats i sub-comptadors (counter_/death/stage/time-stopped/enemy-deploy/shake/game-completed)

This commit is contained in:
2026-05-19 17:38:39 +02:00
parent 91c5b9d2b2
commit 36d50ade82
3 changed files with 448 additions and 103 deletions
+6 -8
View File
@@ -393,15 +393,13 @@ void Player::setAlive(bool value) {
if (!value) {
death_sprite_->setPosX(head_sprite_->getRect().x);
death_sprite_->setPosY(head_sprite_->getRect().y);
// MovingSprite comparteix vx/vy/ax/ay entre frame-based i time-based.
// De moment fixem els valors en px/frame perquè Game encara crida
// Player::update() frame-based. Quan Game flippi a time-based caldrà
// canviar a px/s (12.0 / -396.0 / +-198.0) — vegeu DEATH_*_PX_PER_S2/S.
death_sprite_->setAccelY(0.2F);
death_sprite_->setVelY(-6.6F);
death_sprite_->setVelX(3.3F);
// Física del cadàver en px/s i px/s² — Game crida Player::update(dt_s)
// que delega a death_sprite_->update(dt_s) (time-based).
death_sprite_->setAccelY(DEATH_ACCEL_Y_PX_PER_S2);
death_sprite_->setVelY(DEATH_VEL_Y_PX_PER_S);
death_sprite_->setVelX(DEATH_VEL_X_PX_PER_S);
if (rand() % 2 == 0) {
death_sprite_->setVelX(-3.3F);
death_sprite_->setVelX(-DEATH_VEL_X_PX_PER_S);
}
}
}