📄 animation.h
字号:
//--------------------------------------------------
// Desc: Base Animation
// Date: 2006.12.7 /update
// Author: artsylee
//
// Copyright (C) 2006 artsylee
//
//--------------------------------------------------
#ifndef _ANIMATION_
#define _ANIMATION_
#include "FrameManager.h"
enum ANI_STATE
{
ANI_STOP = 0,
ANI_PAUSE,
ANI_PLAY,
};
enum LOOP_TYPE
{
ANI_ONCE = 0,
ANI_LOOP,
ANI_LOOPBACK,
};
class ASE_DLL CAnimation
{
public:
CAnimation();
virtual ~CAnimation();
virtual void Release();
virtual void Play();
virtual void Stop();
virtual void Pause();
virtual void Replay();
virtual void Update();
virtual void Render();
bool LoadFromFile(const char *szFile, MemoryMode mode = MM_AUTO);
bool LoadFromFrame(CFrames *pFrame);
void Render(int x, int y, float xScale, float yScale, RECT *rcSrc = NULL) const;
void Render(RECT *rcDst, RECT *rcSrc = NULL) const;
void RenderFrame(const DWORD &index) const;
void SetPosition(int x, int y)
{
m_ptPosition.x = x;
m_ptPosition.y = y;
}
void GetPosition(POINT *ptDst) const { *ptDst = m_ptPosition;}
int GetWidth() const { return m_FrameInfo.m_Width; }
int GetHeight() const { return m_FrameInfo.m_Height; }
DWORD GetFrameCount() const { return m_FrameInfo.m_FrameCount; }
void SetDelay(DWORD dwDelay) { m_FrameInfo.m_Delay = dwDelay; }
DWORD GetDelay() const { return m_FrameInfo.m_Delay; }
DWORD GetCurrentFrame() const { return m_dwCurrFrame; }
void SetCurrentFrame(DWORD index);
void Show(bool bShow) { m_bShow = bShow; }
bool IsVisual() const { return m_bShow; }
void SetColor(DWORD dwColor) { m_dwColor = dwColor; }
DWORD GetColor() const { return m_dwColor; }
LOOP_TYPE GetLoopType() const { return m_eLoopType; }
void SetLoopType(LOOP_TYPE type) { m_eLoopType = type; }
ANI_STATE GetState() const { return m_eAniState; }
protected:
// Control
FrameHandle m_hAnimation;
LOOP_TYPE m_eLoopType;
ANI_STATE m_eAniState;
DWORD m_dwCurrFrame;
POINT m_ptPosition;
DWORD m_dwColor;
bool m_bShow;
// Time
DWORD m_dwStartTime;
DWORD m_dwPauseTime;
// Information
FrameDesc m_FrameInfo;
};
#endif // _ANIMATION_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -