hgeanim.h
上传用户:jalin138
上传日期:2022-02-12
资源大小:5720k
文件大小:2k
- /*
- ** Haaf's Game Engine 1.7
- ** Copyright (C) 2003-2007, Relish Games
- ** hge.relishgames.com
- **
- ** hgeAnimation helper class header
- */
- #ifndef HGEANIM_H
- #define HGEANIM_H
- #include "hgesprite.h"
- #define HGEANIM_FWD 0
- #define HGEANIM_REV 1
- #define HGEANIM_PINGPONG 2
- #define HGEANIM_NOPINGPONG 0
- #define HGEANIM_LOOP 4
- #define HGEANIM_NOLOOP 0
- /*
- ** HGE Animation class
- */
- class hgeAnimation : public hgeSprite
- {
- public:
- hgeAnimation(HTEXTURE tex, int nframes, float FPS, float x, float y, float w, float h);
- hgeAnimation(const hgeAnimation &anim);
-
- void Play();
- void Stop() { bPlaying=false; }
- void Resume() { bPlaying=true; }
- void Update(float fDeltaTime);
- bool IsPlaying() const { return bPlaying; }
- void SetTexture(HTEXTURE tex) { hgeSprite::SetTexture(tex); orig_width = hge->Texture_GetWidth(tex, true); }
- void SetTextureRect(float x1, float y1, float x2, float y2) { hgeSprite::SetTextureRect(x1,y1,x2,y2); SetFrame(nCurFrame); }
- void SetMode(int mode);
- void SetSpeed(float FPS) { fSpeed=1.0f/FPS; }
- void SetFrame(int n);
- void SetFrames(int n) { nFrames=n; }
- int GetMode() const { return Mode; }
- float GetSpeed() const { return 1.0f/fSpeed; }
- int GetFrame() const { return nCurFrame; }
- int GetFrames() const { return nFrames; }
- private:
- hgeAnimation();
- int orig_width;
- bool bPlaying;
- float fSpeed;
- float fSinceLastFrame;
- int Mode;
- int nDelta;
- int nFrames;
- int nCurFrame;
- };
- #endif