diff --git a/source/background.cpp b/source/background.cpp index 073a226..1c4f2fe 100644 --- a/source/background.cpp +++ b/source/background.cpp @@ -103,18 +103,19 @@ void Background::update() // Incrementa el contador counter_++; + // Compone todos los elementos del fondo en la textura fillCanvas(); } // Dibuja el gradiente de fondo void Background::renderGradient() { - // Dibuja el gradiente 2 + // Dibuja el gradiente de detras gradients_texture_->setAlpha(255); gradient_sprite_->setSpriteClip(gradient_rect_[(gradient_number_ + 1) % 4]); gradient_sprite_->render(); - // Dibuja el gradiente 1 con una opacidad cada vez menor + // Dibuja el gradiente de delante con una opacidad cada vez menor gradients_texture_->setAlpha(alpha_); gradient_sprite_->setSpriteClip(gradient_rect_[gradient_number_]); gradient_sprite_->render(); @@ -123,36 +124,36 @@ void Background::renderGradient() // Dibuja las nubes de arriba void Background::renderTopClouds() { - // Dibuja el primer conjunto de nubes + // Dibuja el primer conjunto de nubes, las de detras top_clouds_texture_->setAlpha(255); top_clouds_sprite_a_->setSpriteClip(top_clouds_rect_[(gradient_number_ + 1) % 4]); - top_clouds_sprite_a_->render(); top_clouds_sprite_b_->setSpriteClip(top_clouds_rect_[(gradient_number_ + 1) % 4]); + top_clouds_sprite_a_->render(); top_clouds_sprite_b_->render(); - // Dibuja el segundo conjunto de nubes + // Dibuja el segundo conjunto de nubes, las de delante top_clouds_texture_->setAlpha(alpha_); top_clouds_sprite_a_->setSpriteClip(top_clouds_rect_[gradient_number_]); - top_clouds_sprite_a_->render(); top_clouds_sprite_b_->setSpriteClip(top_clouds_rect_[gradient_number_]); + top_clouds_sprite_a_->render(); top_clouds_sprite_b_->render(); } // Dibuja las nubes de abajo void Background::renderBottomClouds() { - // Dibuja el primer conjunto de nubes + // Dibuja el primer conjunto de nubes, las de detras bottom_clouds_texture_->setAlpha(255); bottom_clouds_sprite_a_->setSpriteClip(bottom_clouds_rect_[(gradient_number_ + 1) % 4]); - bottom_clouds_sprite_a_->render(); bottom_clouds_sprite_b_->setSpriteClip(bottom_clouds_rect_[(gradient_number_ + 1) % 4]); + bottom_clouds_sprite_a_->render(); bottom_clouds_sprite_b_->render(); - // Dibuja el segundo conjunto de nubes + // Dibuja el segundo conjunto de nubes, las de delante bottom_clouds_texture_->setAlpha(alpha_); bottom_clouds_sprite_a_->setSpriteClip(bottom_clouds_rect_[gradient_number_]); - bottom_clouds_sprite_a_->render(); bottom_clouds_sprite_b_->setSpriteClip(bottom_clouds_rect_[gradient_number_]); + bottom_clouds_sprite_a_->render(); bottom_clouds_sprite_b_->render(); } @@ -217,9 +218,7 @@ void Background::setGradientNumber(int value) // Ajusta el valor de la variable void Background::setTransition(float value) { - value = std::min(value, 1.0f); - value = std::max(value, 0.0f); - transition_ = value; + transition_ = std::clamp(value, 0.0f, 1.0f); } // Establece la posición del objeto @@ -265,13 +264,10 @@ void Background::setColor(Color color) void Background::setAlpha(int alpha) { // Evita que se asignen valores fuera de rango - alpha_ = std::min(alpha, 255); - alpha_ = std::max(alpha, 0); + alpha_ = std::clamp(alpha, 0, 255); - // Guarda el valor actual + // Guarda el valor actual y establece el nuevo valor alpha_color_text_temp_ = alpha_color_text_; - - // Establece el nuevo valor alpha_color_text_ = alpha_; }