This commit is contained in:
2025-11-03 09:52:54 +01:00
parent 1409ab5bff
commit 3f1c737247
32 changed files with 254 additions and 243 deletions

View File

@@ -55,7 +55,7 @@ void Ending::update() {
updateState(DELTA_TIME); // Actualiza la máquina de estados
updateSpriteCovers(); // Actualiza las cortinillas de los elementos
Audio::get()->update(); // Actualiza el objeto Audio
Audio::update(); // Actualiza el objeto Audio
Screen::get()->update(DELTA_TIME); // Actualiza el objeto Screen
}
@@ -496,43 +496,43 @@ void Ending::updateSpriteCovers() {
// Comprueba si se ha de cambiar de escena
void Ending::checkChangeScene() {
// Obtener duración de la escena actual
float CURRENT_DURATION = 0.0F;
State NEXT_STATE = State::ENDING;
float current_duration = 0.0F;
State next_state = State::ENDING;
switch (state_) {
case State::SCENE_0:
CURRENT_DURATION = SCENE_0_DURATION;
NEXT_STATE = State::SCENE_1;
current_duration = SCENE_0_DURATION;
next_state = State::SCENE_1;
break;
case State::SCENE_1:
CURRENT_DURATION = SCENE_1_DURATION;
NEXT_STATE = State::SCENE_2;
current_duration = SCENE_1_DURATION;
next_state = State::SCENE_2;
break;
case State::SCENE_2:
CURRENT_DURATION = SCENE_2_DURATION;
NEXT_STATE = State::SCENE_3;
current_duration = SCENE_2_DURATION;
next_state = State::SCENE_3;
break;
case State::SCENE_3:
CURRENT_DURATION = SCENE_3_DURATION;
NEXT_STATE = State::SCENE_4;
current_duration = SCENE_3_DURATION;
next_state = State::SCENE_4;
break;
case State::SCENE_4:
CURRENT_DURATION = SCENE_4_DURATION;
NEXT_STATE = State::ENDING;
current_duration = SCENE_4_DURATION;
next_state = State::ENDING;
break;
default:
return;
}
// Comprobar si ha pasado la duración de la escena
if (state_time_ >= CURRENT_DURATION) {
if (NEXT_STATE == State::ENDING) {
if (state_time_ >= current_duration) {
if (next_state == State::ENDING) {
// Termina el bucle
SceneManager::current = SceneManager::Scene::ENDING2;
} else {
// Transición a la siguiente escena
current_scene_++;
transitionToState(NEXT_STATE);
transitionToState(next_state);
}
}
}