continuem afegint descripcions de lo que fa cada classe

This commit is contained in:
2024-08-12 14:16:24 +02:00
parent 9d5aee2562
commit 4d1f1d2bc2
6 changed files with 51 additions and 8 deletions

View File

@@ -177,6 +177,8 @@ 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;
}
@@ -191,13 +193,13 @@ void Background::setPos(SDL_Rect rect)
}
// Ajusta el valor de la variable
void Background::setSrcDest(SDL_Rect value)
void Background::setSrcRect(SDL_Rect value)
{
srcRect = value;
}
// Ajusta el valor de la variable
void Background::setDstDest(SDL_Rect value)
void Background::setDstRect(SDL_Rect value)
{
dstRect = value;
}
@@ -220,6 +222,10 @@ void Background::setColor(color_t color)
// Establece la transparencia de la atenuación
void Background::setAlpha(int alpha)
{
// Evita que se asignen valores fuera de rango
alpha = std::min(alpha, 255);
alpha = std::max(alpha, 0);
// Guarda el valor actual
alphaColorTextTemp = alphaColorText;

View File

@@ -5,6 +5,41 @@
#include "common/asset.h"
#include "common/movingsprite.h"
/*
Esta clase es la encargada de dibujar el fondo que aparece durante la sección
jugable.
Utiliza una textura donde compone la imagen y luego tiene una textura superior
rellena de un color sólido cuya opacidad se puede modificar.
El objeto tiene un tamaño total definido en la variable "rect". En principio este
tamaño coincide con el tamaño de la ventana o resolución del juego, pero se pinta
solo el rectangulo definido en srcRect en la posición de la pantalla definida en
dstRect.
Utiliza varios métodos para definir su comportamiento:
- setCloudsSpeed(float value)
Velocidad a la que se desplazan las nubes cada frame
- setGradientNumber(int value)
Escoge el índice de la textura de fondo a usar (el color del cielo)
- setTransition(float value)
Porcentaje (entre 0.0f (textura actual) y 1.0f (textura siguiente)) para mostrar entre la textura de fondo actual y la siguiente
- setSrcDest(SDL_Rect value)
Rectangulo de la textura de fondo que se desea mostrar
- setDstDest(SDL_Rect value)
Rectangulo de destino donde se mostrará el rectángulo antrior
- setColor(color_t color)
Establece el color de la textura de superposición
- setAlpha(int alpha)
Establece la transparencia de la textura de superposición
*/
// Clase Background
class Background
{
@@ -87,10 +122,10 @@ public:
void setTransition(float value);
// Ajusta el valor de la variable
void setSrcDest(SDL_Rect value);
void setSrcRect(SDL_Rect value);
// Ajusta el valor de la variable
void setDstDest(SDL_Rect value);
void setDstRect(SDL_Rect value);
// Establece el color de atenuación
void setColor(color_t color);

View File

@@ -12,7 +12,7 @@ HiScoreTable::HiScoreTable(Screen *screen, Asset *asset, Input *input, Lang *lan
this->section = section;
this->options = options;
this->param = param;
SDL_Renderer *renderer = screen->getRenderer();
renderer = screen->getRenderer();
// Objetos
eventHandler = new SDL_Event();
@@ -34,8 +34,8 @@ HiScoreTable::HiScoreTable(Screen *screen, Asset *asset, Input *input, Lang *lan
fadeMode = FADE_IN;
// Inicializa objetos
background->setSrcDest(windowArea);
background->setDstDest(windowArea);
background->setSrcRect(windowArea);
background->setDstRect(windowArea);
background->setCloudsSpeed(-0.1f);
background->setGradientNumber(1);
background->setTransition(0.8f);

View File

@@ -28,6 +28,7 @@ class HiScoreTable
{
private:
// Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
SDL_Event *eventHandler; // Manejador de eventos
SDL_Texture *backbuffer; // Textura para usar como backbuffer

View File

@@ -11,7 +11,7 @@ Instructions::Instructions(Screen *screen, Asset *asset, Input *input, Lang *lan
this->lang = lang;
this->param = param;
this->section = section;
SDL_Renderer *renderer = screen->getRenderer();
renderer = screen->getRenderer();
// Crea objetos
eventHandler = new SDL_Event();

View File

@@ -31,6 +31,7 @@ class Instructions
{
private:
// Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
std::vector<Texture *> itemTextures; // Vector con las texturas de los items
std::vector<Sprite *> sprites; // Vector con los sprites de los items