00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef UPDATEFRAME_HPP_INCLUDED
00019 #define UPDATEFRAME_HPP_INCLUDED
00020 #include <SFML/Graphics.hpp>
00021
00023 inline void update_frame(sf::Sprite& sprite, unsigned int frame_count)
00024 {
00025 sf::IntRect rect(sprite.GetSubRect());
00026 if (rect.GetWidth() + rect.Right <= sprite.GetImage()->GetWidth())
00027 {
00028 rect.Offset(rect.GetWidth(), 0);
00029 sprite.SetSubRect(rect);
00030 return;
00031 }
00032 else if (rect.GetHeight() + rect.Bottom <= sprite.GetImage()->GetWidth())
00033 {
00034 sprite.SetSubRect(sf::IntRect(0, rect.Bottom, rect.GetWidth(), rect.Bottom + rect.GetHeight()));
00035 return;
00036 }
00037 else
00038 {
00039 sprite.SetSubRect(sf::IntRect(0, 0, rect.GetWidth(), rect.GetHeight()));
00040 return;
00041 }
00042 }
00043
00044 #endif
00045