#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); };