⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animframe.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 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 + -