revisió de capçaleres
This commit is contained in:
@@ -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
|
||||
};
|
||||
Reference in New Issue
Block a user