revisat background, game_logo, smart sprite, tiled_bg
This commit is contained in:
@@ -45,7 +45,7 @@ void GameLogo::init() {
|
||||
arcade_edition_status_ = Status::DISABLED;
|
||||
shake_.init(1, 2, 8, XP);
|
||||
zoom_ = 3.0F * ZOOM_FACTOR;
|
||||
post_finished_time_accumulator_ = 0.0f;
|
||||
post_finished_timer_ = 0.0f;
|
||||
|
||||
// Inicializa el bitmap de 'Coffee'
|
||||
coffee_sprite_->setPosX(XP);
|
||||
@@ -58,7 +58,7 @@ void GameLogo::init() {
|
||||
coffee_sprite_->setAccelY(COFFEE_ACCEL_Y);
|
||||
coffee_sprite_->setSpriteClip(0, 0, coffee_texture_->getWidth(), coffee_texture_->getHeight());
|
||||
coffee_sprite_->setEnabled(true);
|
||||
coffee_sprite_->setFinishedCounter(0);
|
||||
coffee_sprite_->setFinishedDelay(0.0f);
|
||||
coffee_sprite_->setDestX(XP);
|
||||
coffee_sprite_->setDestY(y_ - coffee_texture_->getHeight());
|
||||
|
||||
@@ -73,7 +73,7 @@ void GameLogo::init() {
|
||||
crisis_sprite_->setAccelY(CRISIS_ACCEL_Y);
|
||||
crisis_sprite_->setSpriteClip(0, 0, crisis_texture_->getWidth(), crisis_texture_->getHeight());
|
||||
crisis_sprite_->setEnabled(true);
|
||||
crisis_sprite_->setFinishedCounter(0);
|
||||
crisis_sprite_->setFinishedDelay(0.0f);
|
||||
crisis_sprite_->setDestX(XP + CRISIS_OFFSET_X);
|
||||
crisis_sprite_->setDestY(y_);
|
||||
|
||||
@@ -192,28 +192,12 @@ void GameLogo::handleArcadeEditionShaking(float deltaTime) {
|
||||
}
|
||||
}
|
||||
|
||||
void GameLogo::processShakeEffect(SmartSprite* primary_sprite, SmartSprite* secondary_sprite) {
|
||||
if (shake_.counter > 0) {
|
||||
shake_.counter--;
|
||||
} else {
|
||||
shake_.counter = shake_.delay;
|
||||
const auto DISPLACEMENT = calculateShakeDisplacement();
|
||||
primary_sprite->setPosX(shake_.origin + DISPLACEMENT);
|
||||
if (secondary_sprite != nullptr) {
|
||||
secondary_sprite->setPosX(shake_.origin + DISPLACEMENT + CRISIS_OFFSET_X);
|
||||
}
|
||||
shake_.remaining--;
|
||||
}
|
||||
}
|
||||
|
||||
void GameLogo::processShakeEffect(SmartSprite* primary_sprite, SmartSprite* secondary_sprite, float deltaTime) {
|
||||
// Delay fijo en milisegundos (shake_.delay era frames, ahora usamos constante)
|
||||
float delayTime = SHAKE_DELAY_MS;
|
||||
|
||||
shake_.time_accumulator += deltaTime;
|
||||
|
||||
if (shake_.time_accumulator >= delayTime) {
|
||||
shake_.time_accumulator -= delayTime;
|
||||
if (shake_.time_accumulator >= SHAKE_DELAY_MS) {
|
||||
shake_.time_accumulator -= SHAKE_DELAY_MS;
|
||||
const auto DISPLACEMENT = calculateShakeDisplacement();
|
||||
primary_sprite->setPosX(shake_.origin + DISPLACEMENT);
|
||||
if (secondary_sprite != nullptr) {
|
||||
@@ -269,18 +253,9 @@ void GameLogo::updateDustSprites(float deltaTime) {
|
||||
|
||||
void GameLogo::updatePostFinishedCounter(float deltaTime) {
|
||||
if (coffee_crisis_status_ == Status::FINISHED &&
|
||||
arcade_edition_status_ == Status::FINISHED &&
|
||||
post_finished_counter_ > 0) {
|
||||
|
||||
// Tiempo entre decrementos del counter
|
||||
float frameTime = POST_FINISHED_FRAME_TIME;
|
||||
|
||||
post_finished_time_accumulator_ += deltaTime;
|
||||
|
||||
if (post_finished_time_accumulator_ >= frameTime) {
|
||||
post_finished_time_accumulator_ -= frameTime;
|
||||
--post_finished_counter_;
|
||||
}
|
||||
arcade_edition_status_ == Status::FINISHED) {
|
||||
|
||||
post_finished_timer_ += deltaTime;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -292,7 +267,7 @@ void GameLogo::enable() {
|
||||
|
||||
// Indica si ha terminado la animación
|
||||
auto GameLogo::hasFinished() const -> bool {
|
||||
return post_finished_counter_ == 0;
|
||||
return post_finished_timer_ >= post_finished_delay_ms_;
|
||||
}
|
||||
|
||||
// Calcula el desplazamiento vertical inicial
|
||||
|
||||
Reference in New Issue
Block a user