afegit fade de audio al final de Ending
This commit is contained in:
@@ -156,7 +156,10 @@ void Ending::updateState(float delta_time) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case State::ENDING:
|
case State::ENDING:
|
||||||
// Transición a ENDING2
|
// Esperar ENDING_DURATION y luego transicionar a ENDING2
|
||||||
|
if (state_time_ >= ENDING_DURATION) {
|
||||||
|
SceneManager::current = SceneManager::Scene::ENDING2;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -521,8 +524,9 @@ void Ending::checkChangeScene() {
|
|||||||
// Comprobar si ha pasado la duración de la escena
|
// Comprobar si ha pasado la duración de la escena
|
||||||
if (state_time_ >= current_duration) {
|
if (state_time_ >= current_duration) {
|
||||||
if (next_state == State::ENDING) {
|
if (next_state == State::ENDING) {
|
||||||
// Termina el bucle
|
// Transición al estado ENDING con fade de audio
|
||||||
SceneManager::current = SceneManager::Scene::ENDING2;
|
transitionToState(State::ENDING);
|
||||||
|
Audio::get()->fadeOutMusic(MUSIC_FADE_DURATION);
|
||||||
} else {
|
} else {
|
||||||
// Transición a la siguiente escena
|
// Transición a la siguiente escena
|
||||||
current_scene_++;
|
current_scene_++;
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ class Ending {
|
|||||||
static constexpr float IMAGE_REVEAL_SPEED = 60.0F; // 2px cada 2 frames @ 60fps
|
static constexpr float IMAGE_REVEAL_SPEED = 60.0F; // 2px cada 2 frames @ 60fps
|
||||||
static constexpr float TEXT_LAPSE = 1.333F; // 80 frames @ 60fps
|
static constexpr float TEXT_LAPSE = 1.333F; // 80 frames @ 60fps
|
||||||
static constexpr float FADEOUT_START_OFFSET = 1.667F; // Inicio fade-out 100 frames antes del fin
|
static constexpr float FADEOUT_START_OFFSET = 1.667F; // Inicio fade-out 100 frames antes del fin
|
||||||
|
static constexpr float ENDING_DURATION = 2.0F; // Duración del estado ENDING (2 segundos)
|
||||||
|
static constexpr int MUSIC_FADE_DURATION = 1800; // Fade de audio en milisegundos (1.8 segundos)
|
||||||
|
|
||||||
// --- Métodos ---
|
// --- Métodos ---
|
||||||
void update(); // Actualiza el objeto
|
void update(); // Actualiza el objeto
|
||||||
|
|||||||
Reference in New Issue
Block a user