Files
demo4_sprites/source/sprite.h
2025-03-23 22:56:10 +01:00

47 lines
1.2 KiB
C++

#pragma once
#include "texture.h"
#include "defines.h"
class Sprite
{
private:
Texture *texture_; // Textura con los gráficos del sprite
SDL_FRect pos_; // Posición y tamaño del sprite
SDL_FRect clip_; // Parte de la textura que se va a dibujar
int frame_; // Frame a dibujar de la textura definido en clip
int num_frames_; // Numero total de frames
int animation_speed_; // Velocidad de animación
int animation_counter_; // Contador para la animación
// Anima el sprite
void animate();
public:
// Constructor
explicit Sprite(Texture *texture);
// Destructor
~Sprite() = default;
// Establece la posición del sprite
void setPos(SDL_Point pos);
// Pinta el sprite
void render();
// Actualiza la lógica de la clase
void update();
// Establece el rectangulo de la textura que se va a pintar
void setClip(SDL_FRect clip);
// Establece el tamaño del sprite
void setSize(int w, int h);
// Modulación de color
void setColor(int r, int g, int b);
// Cambia la velocidad de la animación
void setAnimationSpeed(int value);
};