?? animctrlex.h
字號(hào):
#ifndef _ANIMCTRLEX_H_
#define _ANIMCTRLEX_H_
#pragma once
//========================================================================================
#include "AnimCtrl.h"
//================================================================================================
// 基于動(dòng)畫幀的動(dòng)畫控制類
//首先,將動(dòng)畫所用的圖片序列按照編號(hào),位置,顯示延遲等,排成一個(gè)動(dòng)畫幀數(shù)組。
//該控制類將根據(jù)動(dòng)畫幀數(shù)組和指定的動(dòng)畫播放類型,進(jìn)行動(dòng)畫控制。
//=================================================================================================
enum FRAME_TYPE//動(dòng)畫幀的播放類型
{
FRAME_STATIC, //靜止動(dòng)畫
FRAME_PLAY_ONCE, //一次性動(dòng)畫 //動(dòng)畫幀定義的示例:
FRAME_REPEAT, //重復(fù)性動(dòng)畫 //SAnimFrame DemoFrm[]={//一個(gè)向右偏移的動(dòng)畫幀
FRAME_GO_BACK //來回循環(huán)動(dòng)畫 // {0,5,0,2},
}; // {2,5,0,2},
struct SAnimFrame //動(dòng)畫幀的結(jié)構(gòu)定義 // {3,5,0,2},
{ // {4,5,0,2},
int idx; //小圖片編號(hào) // {5,5,0,2},
int x; //水平偏移,顯示時(shí)將被加到動(dòng)畫原有水平坐標(biāo)上 // {0xffff,0xffff,0xffff,0xffff}//動(dòng)畫幀結(jié)束標(biāo)志
int y; //垂直偏移,顯示時(shí)將被加到動(dòng)畫原有垂直坐標(biāo)上 // };
int t; //延遲
};
class CAnimCtrlEx: public CAnimCtrl
{
public:
virtual void New(CBmp24*pBmp,int x,int y,SAnimFrame *pFrame,int FrameType); //定義新的初始函數(shù)
virtual void Draw(CBmp24*p); //自定義動(dòng)畫顯示,把由幀指定的小圖片,顯示到由原動(dòng)畫坐標(biāo)和幀中坐標(biāo)疊加的位置
virtual int Play(void*); //自定義播放動(dòng)畫,只是用來切換動(dòng)畫幀
int GetCurentFrame(){return m_CurrentFrame;}//當(dāng)前動(dòng)畫幀
bool bEndFrame(){return (m_pFrame[m_CurrentFrame].t==0xffff); }//是否是動(dòng)畫結(jié)束幀
void SetHide(bool bHide) { m_bHide=bHide; } //可以隱藏動(dòng)畫,
CAnimCtrlEx();
virtual ~CAnimCtrlEx();
protected:
int m_FrameType; //動(dòng)畫幀的類型
int m_Count; //用來計(jì)數(shù),來完成動(dòng)畫幀中的延遲
int m_CurrentFrame; //當(dāng)前動(dòng)畫幀
int m_AddFrame; //動(dòng)畫幀移動(dòng)時(shí)的偏移,一般為1,在來回播放類型的動(dòng)畫幀中,回來時(shí),為負(fù)1
bool m_bHide; //可以隱藏,隱藏之后,不會(huì)顯示,也不會(huì)被做播放處理。
SAnimFrame* m_pFrame;
};
//============================================================================================
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -