📄 animframe.h
字号:
// AnimFrame.h: interface for the CAnimFrame class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ANIMFRAME_H__357ABC3B_D864_435A_BD48_953260E47CF4__INCLUDED_)
#define AFX_ANIMFRAME_H__357ABC3B_D864_435A_BD48_953260E47CF4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "MCGTimer.h"
typedef struct
{
//LPDIRECT3DTEXTURE9 pTexture;
MCTEXTURE * pTexture;
float fTime;
} AnimFrame;
//class CMCGTimer;
HRESULT CreateQuad( LPDIRECT3DVERTEXBUFFER9 *pVB, float fSize, DWORD dwColor);
int RandomNumber(int iMin, int iMax);
float RandomNumber(float fMin, float fMax);
#define TORADIANS(p) ((p)/180.0*D3DX_PI)
class CEffectModel;
class CEffectBillBoard;
class CAnimSequence
{
public:
CAnimSequence();
virtual ~CAnimSequence();
public:
HRESULT Create();
BOOL AddFrame(const char *strFilename, float fTime);
void DeleteFrame(int index);
void ClearAllFrames();
int GetCurFrame( CMCGTimer * pTimer );
LPDIRECT3DTEXTURE9 GetCurFrameTexture( CMCGTimer * pTimer );
MCTEXTURE * GetCurFrameTextureEx( CMCGTimer * pTimer );
void Render( CMCGTimer * pTimer, D3DXMATRIX mat);
void RenderMesh( CMCGTimer * pTimer, D3DXMATRIX mat, CEffectModel * pModel = NULL );
void RenderBillBoard( CMCGTimer * pTimer, D3DXMATRIX mat, CEffectBillBoard * pBillBoard = NULL );
// void RenderEx(CMCGTimer &timer, D3DXMATRIX mat);
void SetLoop( short iLoop ) { m_iLoop = iLoop; }
private:
LPDIRECT3DVERTEXBUFFER9 m_pVBQuad;
std::vector<AnimFrame *> m_lFrames;
short m_iLoop; // 0 : 备成 风橇 倒覆 葛电 橇方阑 促静搁 辆丰.... 1: 风橇倒覆.. 葛甸 橇方阑 促静搁.. 促矫 馆汗.. 2: 风橇 倒府瘤 臼澜.. 傲 辆丰.. 3: 风橇 倒府瘤 臼澜.. 辆丰 窍瘤 臼澜....
int m_iStaticFrame;
};
//class CSpriteEx
//{
//public:
// CSpriteEx();
// CSpriteEx(CAnimSequence * pAnim);
// virtual ~CSpriteEx();
//
//public:
// CMCGTimer & Timer() { return(m_Timer); }
// void SetAnim( CAnimSequence * pAnim ) { m_pAnim = pAnim; }
// CAnimSequence * GetAnim() { return m_pAnim; }
// D3DXVECTOR3 & Pos() { return m_vPos; }
//
// void Render( D3DXMATRIX view );
//
// void SetSize(float size) { m_fSize = size; }
// float GetSize(void) { return m_fSize; }
//
// void SetRotationYaw( float fRadians ) { m_fRotationYaw = fRadians; }
// void SetRotationPitch( float fRadians ) { m_fRotationPitch = fRadians; }
// void SetRotationRoll( float fRadians ) { m_fRotationRoll = fRadians; }
//
// float GetRotationYaw(void) { return m_fRotationYaw; }
// float GetRotationPitch(void) { return m_fRotationPitch; }
// float GetRotationRoll(void) { return m_fRotationRoll; }
//
//private:
// float m_fSize;
// D3DXVECTOR3 m_vPos;
//
// float m_fRotationYaw;
// float m_fRotationPitch;
// float m_fRotationRoll;
//
// CMCGTimer m_Timer;
// CAnimSequence * m_pAnim;
//
//};
class CSpriteMesh
{
public:
CSpriteMesh();
CSpriteMesh( CAnimSequence * pAnim, CEffectModel * pModel );
virtual ~CSpriteMesh();
public:
//CMCGTimer & Timer() { return(m_Timer); }
CMCGTimer * Timer() { return(m_pTimer); }
void SetTimer( CMCGTimer * pTimer ) { m_pTimer = pTimer; }
void SetAnim( CAnimSequence * pAnim ) { m_pAnim = pAnim; }
void SetModel( CEffectModel * pModel ) { m_pModel = pModel; }
CAnimSequence * GetAnim() { return m_pAnim; }
D3DXVECTOR3 & Pos() { return m_vPos; }
void Render( D3DXMATRIX view );
void SetSize(float size) { m_fSize = size; }
float GetSize(void) { return m_fSize; }
void SetRotationYaw( float fRadians ) { m_fRotationYaw = fRadians; }
void SetRotationPitch( float fRadians ) { m_fRotationPitch = fRadians; }
void SetRotationRoll( float fRadians ) { m_fRotationRoll = fRadians; }
float GetRotationYaw(void) { return m_fRotationYaw; }
float GetRotationPitch(void) { return m_fRotationPitch; }
float GetRotationRoll(void) { return m_fRotationRoll; }
float GetWorld(void) { return m_fRotationRoll; }
private:
float m_fSize;
D3DXVECTOR3 m_vPos;
float m_fRotationYaw;
float m_fRotationPitch;
float m_fRotationRoll;
CMCGTimer * m_pTimer;
CAnimSequence * m_pAnim;
CEffectModel * m_pModel; // 醚舅 脾扁绰芭..
};
class CSpriteParticle
{
public:
CSpriteParticle();
CSpriteParticle( CAnimSequence * pAnim, CEffectModel * pModel );
virtual ~CSpriteParticle();
public:
//CMCGTimer & Timer() { return(m_Timer); }
CMCGTimer * Timer() { return(m_pTimer); }
void SetAnim( CAnimSequence * pAnim ) { m_pAnim = pAnim; }
void SetModel( CEffectModel * pModel ) { m_pModel = pModel; }
CAnimSequence * GetAnim() { return m_pAnim; }
D3DXVECTOR3 & Pos() { return m_vPos; }
void Render( D3DXMATRIX view );
void SetSize(float size) { m_fSize = size; }
float GetSize(void) { return m_fSize; }
void SetRotationYaw( float fRadians ) { m_fRotationYaw = fRadians; }
void SetRotationPitch( float fRadians ) { m_fRotationPitch = fRadians; }
void SetRotationRoll( float fRadians ) { m_fRotationRoll = fRadians; }
float GetRotationYaw(void) { return m_fRotationYaw; }
float GetRotationPitch(void) { return m_fRotationPitch; }
float GetRotationRoll(void) { return m_fRotationRoll; }
private:
float m_fSize;
D3DXVECTOR3 m_vPos;
float m_fRotationYaw;
float m_fRotationPitch;
float m_fRotationRoll;
CMCGTimer * m_pTimer;
CAnimSequence * m_pAnim;
CEffectModel * m_pModel; // 醚舅 脾扁绰芭..
};
class CSpriteBillBoard
{
public:
CSpriteBillBoard();
CSpriteBillBoard( CAnimSequence * pAnim, CEffectBillBoard * pBillBoard );
virtual ~CSpriteBillBoard();
public:
//CMCGTimer & Timer() { return(m_Timer); }
CMCGTimer * Timer() { return(m_pTimer); }
void SetTimer( CMCGTimer * pTimer ) { m_pTimer = pTimer; }
void SetAnim( CAnimSequence * pAnim ) { m_pAnim = pAnim; }
void SetBillBoard( CEffectBillBoard * pBillBoard ) { m_pBillBoard = pBillBoard; }
CAnimSequence * GetAnim() { return m_pAnim; }
D3DXVECTOR3 & Pos() { return m_vPos; }
void Render( D3DXMATRIX view );
void SetSize(float size) { m_fSize = size; }
float GetSize(void) { return m_fSize; }
void SetRotationYaw( float fRadians ) { m_fRotationYaw = fRadians; }
void SetRotationPitch( float fRadians ) { m_fRotationPitch = fRadians; }
void SetRotationRoll( float fRadians ) { m_fRotationRoll = fRadians; }
float GetRotationYaw(void) { return m_fRotationYaw; }
float GetRotationPitch(void) { return m_fRotationPitch; }
float GetRotationRoll(void) { return m_fRotationRoll; }
DWORD & Alpha() { return m_dwAlpha; }
private:
float m_fSize;
D3DXVECTOR3 m_vPos;
float m_fRotationYaw;
float m_fRotationPitch;
float m_fRotationRoll;
CMCGTimer * m_pTimer;
CAnimSequence * m_pAnim;
CEffectBillBoard * m_pBillBoard; // 醚舅 脾扁绰芭..
DWORD m_dwAlpha;
};
#endif // !defined(AFX_ANIMFRAME_H__357ABC3B_D864_435A_BD48_953260E47CF4__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -