LibD/src/Animation/AnimatingSprite.h
Rtch90 cda3b3d086 [Change] Added a positional sprite method.
[Add] Added some more Animation. Not far off done now.
2012-04-15 14:45:31 +01:00

40 lines
961 B
C++

#pragma once
#include "../Sprite/Sprite.h"
#include "AnimationSequence.h"
#define MAX_ANIM_FRAMES 128
class AnimatingSprite {
public:
AnimatingSprite(void);
~AnimatingSprite(void);
void SetCurrentAnimation(const char* filename);
void SetCurrentAnimation(int index);
const char* GetCurrentAnimation(void);
int GetCurrentFrame(void) { return _currentFrame; }
int GetTotalFrames(void) { return _sequence->GetAnimation(_currentAnimation)->frameEnd; }
void Update(float dt);
void Render(void);
void Render(float x, float y);
void LoadAnimatingSprite(const char* id, const char* filename, const char* sequence, int frames, float animationSpeed);
const char* GetID(void) { return _id; }
private:
Sprite* _sprites[MAX_ANIM_FRAMES];
int _spriteCounter;
AnimationSequence* _sequence;
String _id;
float _animationSpeed;
float _timer;
int _currentFrame;
int _numberOfFrames;
String _currentAnimation;
};