Files
demo4_sprites/source/sprite.h

47 lines
1.1 KiB
C++

#pragma once
#include "texture.h"
#include "defines.h"
class Sprite
{
private:
Texture *texture; // Textura con los gráficos del sprite
SDL_Rect pos; // Posición y tamaño del sprite
SDL_Rect clip; // Parte de la textura que se va a dibujar
int frame; // Frame a dibujar de la textura definido en clip
int numFrames; // Numero total de frames
int animationSpeed; // Velocidad de animación
int animationCounter; // Contador para la animación
// Anima el sprite
void animate();
public:
// Constructor
Sprite(Texture *texture);
// Destructor
~Sprite();
// 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_Rect 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);
};