cleanup time-based: elimina base classes frame-based (MovingSprite/SmartSprite/AnimatedSprite/Writer/Fade), MovingSprite::update(dt_s) integra rotacio

This commit is contained in:
2026-05-19 18:38:57 +02:00
parent 635662d65d
commit b558ea0b4c
10 changed files with 44 additions and 210 deletions
+4 -8
View File
@@ -10,11 +10,8 @@ class MovingSprite : public Sprite {
public:
explicit MovingSprite(float x = 0, float y = 0, int w = 0, int h = 0, float velx = 0, float vely = 0, float accelx = 0, float accely = 0, Texture *texture = nullptr, SDL_Renderer *renderer = nullptr); // Constructor
void move(); // Mueve el sprite (frame-based, depreca)
void move(float dt_s); // Mueve el sprite (time-based: vx/vy/ax/ay en px/s i px/s^2)
void rotate(); // Rota el sprite (frame-based, depreca)
virtual void update(); // Actualiza las variables internas del objeto (frame-based)
virtual void update(float dt_s); // Actualiza les variables internes (time-based, només move; rotate per migrar al seu torn)
void move(float dt_s); // Mueve el sprite (vx/vy/ax/ay en px/s i px/s^2)
virtual void update(float dt_s); // Actualiza les variables internes (move + rotació integrada)
void clear(); // Reinicia todas las variables
void render() override; // Muestra el sprite por pantalla
@@ -85,9 +82,8 @@ class MovingSprite : public Sprite {
double angle_{0.0}; // Angulo para dibujarlo
bool rotate_enabled_{false}; // Indica si ha de rotar
int rotate_speed_{0}; // Velocidad de giro
double rotate_amount_{0.0}; // Cantidad de grados a girar en cada iteración
int counter_{0}; // Contador interno
int rotate_speed_{0}; // Velocidad de giro (frames per pas de rotació al ritme de referència 60Hz)
double rotate_amount_{0.0}; // Cantidad de grados a girar en cada pas
SDL_Point *center_{nullptr}; // Centro de rotación
SDL_FlipMode current_flip_{SDL_FLIP_NONE}; // Indica como se voltea el sprite
};