lab.cpp/SDL#4/xSDL/xSpriteAnimation.h

34 lines
806 B
C
Raw Normal View History

2016-03-12 23:22:28 +00:00
#ifndef DEF_XSPRITEANIMATION_H
#define DEF_XSPRITEANIMATION_H
class xSpriteAnimation{
public:
xSpriteAnimation(xManager *manager, const char *url, SDL_Rect viewport); // Spritesheet avec taille de chaque sprite
~xSpriteAnimation();
void addFrame(float x=0.0, float y=0.0); // Ajoute une frame en fonction des coordonnees
void start(int t, int flags=SPRITE_ANIM_ONCE);
void stop();
private:
xManager *_manager;
SDL_Texture *_texture;
// Taille unitaire d'une sprite
SDL_Rect _clip;
// Contiendra les frames
vector<SDL_Rect> _frames;
SDL_Rect _frame; // Frame courante
// Contiendra le thread de l'animation
thread *_animation;
friend void xSpriteAnimationProcess(xSpriteAnimation *xSA, int t, int flags );
};
#endif