revisió de capçaleres

This commit is contained in:
2025-05-29 09:58:23 +02:00
parent 677e4d465d
commit 0fc8224ef8
45 changed files with 1870 additions and 2684 deletions

View File

@@ -15,62 +15,50 @@ enum class TiledBGMode : int
/*
Esta clase dibuja un tileado de fondo. Para ello se sirve de una textura "canvas", que rellena con los tiles.
El rectangulo "window" recorre la textura de diferentes formas para generar el efecto de movimiento de la
textura en pantalla
El rectángulo "window" recorre la textura de diferentes formas para generar el efecto de movimiento de la
textura en pantalla.
*/
// Clase TiledBG
class TiledBG
{
public:
// --- Constructores y destructor ---
TiledBG(SDL_FRect pos, TiledBGMode mode);
~TiledBG();
// --- Métodos principales ---
void render(); // Pinta la clase en pantalla
void update(); // Actualiza la lógica de la clase
// --- Configuración ---
void setSpeed(float speed) { speed_ = speed; } // Establece la velocidad
void stopGracefully() { stopping_ = true; } // Detiene el desplazamiento de forma ordenada
void setColor(Color color) { SDL_SetTextureColorMod(canvas_, color.r, color.g, color.b); } // Cambia el color de la textura
// --- Getters ---
bool isStopped() const { return speed_ == 0.0f; } // Indica si está parado
private:
// Constantes
// --- Constantes ---
static constexpr int TILE_WIDTH_ = 64; // Ancho del tile
static constexpr int TILE_HEIGHT_ = 64; // Alto del tile
// Objetos y punteros
// --- Objetos y punteros ---
SDL_Renderer *renderer_; // El renderizador de la ventana
SDL_Texture *canvas_; // Textura donde dibujar el fondo formado por tiles
// Variables
// --- Variables de estado ---
SDL_FRect pos_; // Posición y tamaño del mosaico
SDL_FRect window_; // Ventana visible para la textura de fondo del titulo
SDL_FRect window_; // Ventana visible para la textura de fondo del título
TiledBGMode mode_; // Tipo de movimiento del mosaico
double sin_[360]; // Vector con los valores del seno precalculados
float desp_ = 0.0f; // Desplazamiento aplicado
float speed_ = 1.0f; // Incremento que se añade al desplazamiento a cada bucle
bool stopping_ = false; // Indica si se está deteniendo
// Rellena la textura con el contenido
void fillTexture();
// Actualiza el desplazamiento
void updateDesp() { desp_ += speed_; }
// Detiene el desplazamiento de forma ordenada
void updateStop();
public:
// Constructor
TiledBG(SDL_FRect pos, TiledBGMode mode);
// Destructor
~TiledBG();
// Pinta la clase en pantalla
void render();
// Actualiza la lógica de la clase
void update();
// Establece la velocidad
void setSpeed(float speed) { speed_ = speed; }
// Detiene el desplazamiento de forma ordenada
void stopGracefully() { stopping_ = true; }
// Cambia el color de la textura
void setColor(Color color) { SDL_SetTextureColorMod(canvas_, color.r, color.g, color.b); }
// Indica si está parado
bool isStopped() const { return speed_ == 0.0f; }
// --- Métodos internos ---
void fillTexture(); // Rellena la textura con el contenido
void updateDesp() { desp_ += speed_; } // Actualiza el desplazamiento
void updateStop(); // Detiene el desplazamiento de forma ordenada
};