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

📄 gunex.h

📁 国外网游源码....除工具源码缺少之外,其余程序都全...至于,什么游戏,因为国内还没有,所以找不到测试
💻 H
字号:
// GunEx.h: interface for the CGunEx class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GUNEX_H__2D0D4E61_68DB_4410_83E3_08DF9E06A997__INCLUDED_)
#define AFX_GUNEX_H__2D0D4E61_68DB_4410_83E3_08DF9E06A997__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CPlasmaBulletArray;
class CMCGTimer;
class CAnimSequence;
class CParticleEmitter;

class CGunEx  
{
public:
	CGunEx();
	virtual ~CGunEx();

};

class CPlasmaGun
{
public:
	CPlasmaGun();
	virtual ~CPlasmaGun();

public:

	HRESULT			Create();
	HRESULT			Render();
	HRESULT			Update( float fElapsedTime );
	HRESULT			RestoreDeviceObjects();
	void			InvalidateDeviceObjects();

public:
	HRESULT			LoadTexture(const char *strTextureFilename);

	BOOL			CanFire();
	void			Fire();
	
	CMCGTimer	*	Timer() { return m_Timer; }
	
	D3DXVECTOR3		Pos() { return m_vPos; }

	void			SetBulletArray( CPlasmaBulletArray *array) { m_pBulletArray = array; }

protected:

private:
	void			AssembleWorldMatrix( D3DXMATRIX &matWorld, D3DXVECTOR3 vTranslation = D3DXVECTOR3(0,0,0));

public:

protected:

private:
	CMCGTimer	*			m_Timer;
	D3DXVECTOR3				m_vPos;

	CPlasmaBulletArray *	m_pBulletArray;

};

//////////////////////////////////////////////////////////////////////////
//	CLaserGun
//////////////////////////////////////////////////////////////////////////
class CLaserGun
{
public:
	CLaserGun();
	virtual ~CLaserGun();

public:
	HRESULT			Create();
	HRESULT			Render();
	HRESULT			Update( float fElapsedTime );
	HRESULT			RestoreDeviceObjects();
	void			InvalidateDeviceObjects();

public:
	HRESULT			LoadTexture(const char *strTextureFilename);

	BOOL			CanFire();
	void			Fire();
	
	CMCGTimer	*	Timer() { return m_Timer; }
	D3DXVECTOR3		Pos() { return m_vPos; }
protected:

private:
	void			AssembleWorldMatrix( D3DXMATRIX &matWorld, D3DXVECTOR3 vTranslation = D3DXVECTOR3(0,0,0));

public:

protected:

private:
	LPDIRECT3DVERTEXBUFFER9	m_pVBLaser;
	LPDIRECT3DINDEXBUFFER9	m_pIBLaser;

	CMCGTimer	*			m_Timer;
	D3DXVECTOR3				m_vPos;

	CAnimSequence *			m_pAnim;
	CParticleEmitter *		m_Emitter;
	D3DXMATRIX				m_matWorld;

	bool					m_bIsFiring;
};

//////////////////////////////////////////////////////////////////////////
//	CShockwave
//////////////////////////////////////////////////////////////////////////
//typedef 
typedef LPDIRECT3DVERTEXBUFFER9		LPD3DVB;
typedef LPDIRECT3DTEXTURE9			LPD3DTXTURE;

class CShockwave
{
public:
	CShockwave();
	virtual ~CShockwave();

public:
	HRESULT			Create();
	HRESULT			Render();
	HRESULT			Update( float fElapsedTime );
	HRESULT			RestoreDeviceObjects();
	void			InvalidateDeviceObjects();

public:
	HRESULT			CreateEx( float fSize, float fThickness, int iNumDivisions, float fExpandRate, float fLifetime);

	HRESULT			LoadTexture(const char *strTextureFilename);

	void			SetAlpha(int i255Alpha);
	D3DXVECTOR3		&Pos() { return(m_vPos); }

	LPD3DVB			GetVB() { return(m_pVB); }
	
public:
	virtual void	Begin() { m_bIsRunning = true; }
	virtual void	Pause() { m_bIsRunning = false; }
	virtual void	Stop()  { Pause(); m_fAge = 0.0f; m_fScale = 0.0001f; }
	virtual bool	IsRunning() { return(m_bIsRunning); }
	
		
	
protected:

private:

public:

protected:

private:
	bool						m_bIsRunning;
	LPD3DTXTURE					m_pTexture;
	LPD3DVB						m_pVB;
	D3DXVECTOR3					m_vPos;
	int							m_iNumDivisions;
	float						m_fThickness;
	float						m_fLifetime;
	float						m_fAge;
	float						m_fExpandRate;
	float						m_fSize;
	float						m_fScale;
	int							m_iNumVerts;
};

#endif // !defined(AFX_GUNEX_H__2D0D4E61_68DB_4410_83E3_08DF9E06A997__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -