Añadido efecto de flash a la clase Screen

This commit is contained in:
2024-06-11 15:42:56 +02:00
parent ee174762e6
commit 27294125fe
5 changed files with 88 additions and 32 deletions

View File

@@ -32,10 +32,17 @@ private:
SDL_Rect dest; // Coordenadas donde se va a dibujar la textura del juego sobre la pantalla o ventana
color_t borderColor; // Color del borde añadido a la textura de juego para rellenar la pantalla
struct effect_t
{
bool enabled; // Indica si el efecto está activo
int counter; // Contador para el efecto
int lenght; // Duración del efecto
color_t color; // Color del efecto
};
// Variables - Efectos
bool fade; // Indica si esta activo el efecto de fade
int fadeCounter; // Temporizador para el efecto de fade
int fadeLenght; // Duración del fade
effect_t fade; // Variable para gestionar el efecto de fade
effect_t flash; // Variable para gestionar el efecto de flash
struct shake_t
{
@@ -65,6 +72,9 @@ private:
// Actualiza la logica para agitar la pantalla
void updateShake();
// Actualiza y dibuja el efecto de flash en la pantalla
void doFlash();
public:
// Constructor
Screen(SDL_Window *window, SDL_Renderer *renderer, Asset *asset, options_t *options);
@@ -122,7 +132,10 @@ public:
bool fadeEnded();
// Agita la pantalla
void startShake();
void setShake();
// Pone la pantalla de color
void setFlash(color_t color, int lenght);
};
#endif