00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_ANIMATEDSPRITE_HPP
00026 #define SFML_ANIMATEDSPRITE_HPP
00027
00029
00031 #include <SFML/Graphics/Color.hpp>
00032 #include <SFML/Graphics/Sprite.hpp>
00033 #include <SFML/System/Clock.hpp>
00034 #include <SFML/Utilities/Rect.hpp>
00035 #include <vector>
00036
00037 class sfImage;
00038
00039
00044 class SFML_API sfAnimatedSprite : public sfSprite
00045 {
00046 public :
00047
00054 sfAnimatedSprite(const sfImage* Img = NULL);
00055
00065 sfAnimatedSprite(const sfImage* Img, const sfIntRect& SourceRect, unsigned int FrameWidth, unsigned int FrameHeight);
00066
00076 void CreateAnimation(const sfImage* Img, const sfIntRect& SourceRect, unsigned int FrameWidth, unsigned int FrameHeight);
00077
00085 void AddFrame(const sfIntRect& FrameRect, int Index = -1);
00086
00088
00090 float Timing;
00091
00092 protected :
00093
00098 virtual void Render(sfRenderWindow& Window);
00099
00100 private :
00101
00103
00105 std::vector<sfIntRect> myFrames;
00106 unsigned int myCurrentFrame;
00107 sfClock myTimer;
00108 };
00109
00110
00111 #endif // SFML_ANIMATEDSPRITE_HPP