demo: Preparado todo para empezar a trabajar en el efecto de fuego

This commit is contained in:
2023-05-24 18:37:46 +02:00
parent 83d230846e
commit bb6894e297

View File

@@ -30,16 +30,24 @@ Text *debugText;
Texture *texture;
MovingSprite *sprite;
Uint32 ticks = 0;
Uint32 ticksSpeed = 15;
bool should_exit = false;
int counter = 0;
enum e_fx // Tipos de efectos disponibles para el fondo
{
fx_fire,
fx_gradient
};
Uint32 ticks = 0; // Variable para la frecuencia de actualización de la lógica del programa
Uint32 ticksSpeed = 15; // Variable para la frecuencia de actualización de la lógica del programa
bool should_exit = false; // Variable para saber si ha terminado el progra,a
int counter = 0; // Contador para lo que se necesite
int gradColorMin = 64; // Minimo color más alto del degradado
int gradColorMax = 192; // Minimo color más alto del degradado
int gradCurrentColor = 192; // Color actual más alto del degradado
int gradBreathDirection = 0; // Indica si gradCurrentColor crece o decrece
string controllerName;
string inputPressed;
string controllerName; // Nombre del primer mando detectado
string inputPressed; // Texto con el último input que se ha pulsado
e_fx fx = fx_gradient; // Efecto seleccionado para el fondo
int fxTotal = 2; // Cantidad total de efectos disponibles para el fondo
// Inicializa las opciones
void initOptions();
@@ -71,6 +79,9 @@ void initText();
// Inicializa el sprite
void initSprite();
// Inicializa el efecto de fuego
void initFire();
// Inicializa todo
void initAll(char *argv[]);
@@ -83,15 +94,27 @@ void checkInput();
// Actualiza el sprite
void updateSprite();
// Actualiza el degradado
// Actualiza el efecto de degradado
void updateGradient();
// Actualiza el efecto de fuego
void updateFire();
// Actualiza el efecto de fondo
void updateFX();
// Actualiza la lógica del programa
void update();
// Dibuja un degradado de fondo
void renderGradient();
// Dibuja el efecto de fuego
void renderFire();
// Dibuja el efecto de fondo
void renderFX();
// Dibuja el texto
void renderText();
@@ -214,6 +237,11 @@ void initSprite()
sprite->setVelY(2);
}
// Inicializa el efecto de fuego
void initFire()
{
}
// Inicializa todo
void initAll(char *argv[])
{
@@ -246,6 +274,9 @@ void initAll(char *argv[])
// Inicializa el sprite
initSprite();
// Inicializa el efecto de fuego
initFire();
}
// Comprueba el teclado y los eventos
@@ -365,6 +396,29 @@ void updateGradient()
}
}
// Actualiza el efecto de fuego
void updateFire()
{
}
// Actualiza el efecto de fondo
void updateFX()
{
switch (fx)
{
case fx_fire:
updateFire();
break;
case fx_gradient:
updateGradient();
break;
default:
break;
}
}
// Actualiza la lógica del programa
void update()
{
@@ -389,8 +443,8 @@ void update()
// Actualiza el sprite
updateSprite();
// Actualiza el degradado
updateGradient();
// Actualiza el efecto de fondo
updateFX();
}
}
@@ -419,6 +473,29 @@ void renderGradient()
}
}
// Dibuja el efecto de fuego
void renderFire()
{
}
// Dibuja el efecto de fondo
void renderFX()
{
switch (fx)
{
case fx_fire:
renderFire();
break;
case fx_gradient:
renderGradient();
break;
default:
break;
}
}
// Dibuja el texto
void renderText()
{
@@ -440,8 +517,8 @@ void render()
screen->start();
screen->clean();
// Dibuja un degradado de fondo
renderGradient();
// Dibuja el efecto de fondo
renderFX();
// Dibuja el sprite
sprite->render();