00001 00024 #ifndef ANIMATION_H_ 00025 #define ANIMATION_H_ 00026 00027 class CAnimation { 00028 public: 00032 CAnimation(); 00033 00037 virtual ~CAnimation(); 00038 00043 int getCurrentFrame() const { 00044 return m_currentFrame; 00045 } 00046 00051 int getEnd() const { 00052 return m_end; 00053 } 00054 00059 bool isPlay() const { 00060 return m_play; 00061 } 00062 00067 int getStart() const { 00068 return m_start; 00069 } 00070 00075 int getStep() const { 00076 return m_step; 00077 } 00078 00083 void setEnd(int m_end) { 00084 this->m_end = m_end; 00085 } 00086 00091 void setStart(int m_start) { 00092 this->m_start = m_start; 00093 } 00094 00099 void setStep(int m_step) { 00100 this->m_step = m_step; 00101 } 00102 00106 void play() { 00107 m_play = true; 00108 } 00109 00113 void stop() { 00114 m_play = false; 00115 } 00116 00120 void nextFrame() { 00121 this->m_currentFrame += m_step; 00122 } 00123 00127 void update(); 00128 00132 void reset() { 00133 m_currentFrame = m_start; 00134 } 00135 00139 bool isEnd() { 00140 return m_end <= m_currentFrame ? true : false; 00141 } 00142 00150 void setup(bool m_play, int m_start, int m_end, int m_step); 00151 00152 protected: 00153 00157 bool m_play; 00158 00162 int m_step; 00163 00168 int m_start; 00169 00173 int m_end; 00174 00179 int m_currentFrame; 00180 00181 }; 00182 00183 #endif /* ANIMATION_H_ */