Retocada y vuelta a añadir la hierba al fondo

This commit is contained in:
2024-07-12 15:37:33 +02:00
parent 55638e2997
commit 6609021488
7 changed files with 200 additions and 69 deletions

View File

@@ -17,20 +17,6 @@ private:
Screen *screen; // Objeto encargado de dibujar en pantalla
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
// Variables
SDL_Rect gradientRect[4]; // Vector con las coordenadas de los 4 degradados para el cielo
int gradientNumber; // Indica el número de degradado de fondo que se va a dibujar
int alpha; // Transparencia entre los dos degradados
float cloudsSpeed; // Velocidad a la que se desplazan las nubes
float transition; // Nivel de transición del fondo 0..1
int counter; // Contador interno
SDL_Rect rect; // Tamaño del objeto fondo
SDL_Rect srcRect; // Parte del objeto fondo que se va a dibujará en pantalla
SDL_Rect dstRect; // Posición donde dibujar la parte del objeto fondo que se dibujará en pantalla
SDL_Texture *canvas; // Textura para componer el fondo
int base; // Linea de fondo coincidente con el area inferior de la zona de juego
param_t *param; // Puntero con todos los parametros del programa
Texture *buildingsTexture; // Textura con los edificios de fondo
Texture *cloudsTexture; // Textura con las nubes de fondo
Texture *grassTexture; // Textura con la hierba del suelo
@@ -45,9 +31,35 @@ private:
Sprite *gradientSprite; // Sprite con los graficos del degradado de color de fondo
Sprite *grassSprite; // Sprite para la hierba
SDL_Texture *canvas; // Textura para componer el fondo
SDL_Texture *colorText; // Textura para atenuar el fondo
param_t *param; // Puntero con todos los parametros del programa
// Variables
SDL_Rect gradientRect[4]; // Vector con las coordenadas de los 4 degradados para el cielo
int gradientNumber; // Indica el número de degradado de fondo que se va a dibujar
int alpha; // Transparencia entre los dos degradados
float cloudsSpeed; // Velocidad a la que se desplazan las nubes
float transition; // Nivel de transición del fondo 0..1
int counter; // Contador interno
SDL_Rect rect; // Tamaño del objeto fondo
SDL_Rect srcRect; // Parte del objeto fondo que se va a dibujará en pantalla
SDL_Rect dstRect; // Posición donde dibujar la parte del objeto fondo que se dibujará en pantalla
int base; // Linea de fondo coincidente con el area inferior de la zona de juego
color_t color; // Color para atenuar el fondo
int alphaColorText; // Alpha para atenuar el fondo
int alphaColorTextTemp; // Valor temporal para hacer la transición de alpha
// Compone todos los elementos del fondo en la textura
void fillCanvas();
// Actualiza el valor de alpha
void updateAlphaColorText();
// Actualiza las nubes
void updateCLouds();
public:
// Constructor
Background(SDL_Renderer *renderer, Screen *screen, Asset *asset, param_t *param);
@@ -81,6 +93,12 @@ public:
// Ajusta el valor de la variable
void setDstDest(SDL_Rect value);
// Establece el color de atenuación
void setColor(color_t color);
// Establece la transparencia de la atenuación
void setAlpha(int alpha);
};
#endif