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

📄 ch21p1_plasmagun.h

📁 游戏开发特殊技巧-special.effects.game.programming
💻 H
字号:
#include "Ch21p1_Gun.h"
#include "Ch21p1_Bullet.h"
#include "RecyclingArrayDyn.h"
#include "Sprite.h"

class CPlasmaBullet : public CBullet
{
public:
	CPlasmaBullet() { }
	virtual ~CPlasmaBullet() { }

	CSprite m_Sprite;
};

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

	static const int NUMBULLETS;

	HRESULT RestoreDeviceObjects(LPDIRECT3DDEVICE8 pDev);
	HRESULT InvalidateDeviceObjects();

	void UpdateAll(float fElapsedTime);
	void RenderAll(CCamera &camera);

	void AddBullet(D3DXVECTOR3 vPos, D3DXVECTOR3 vVelocity);

protected:
	LPDIRECT3DDEVICE8 m_pd3dDevice;
	LPDIRECT3DVERTEXBUFFER8 m_pVB;
	CAnimSequence *m_pAnim;

	CRecyclingArrayDyn<CPlasmaBullet> *m_pBullets;

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

	virtual HRESULT RestoreDeviceObjects(LPDIRECT3DDEVICE8 pDev, const char *strMeshFilename);
  virtual void InvalidateDeviceObjects();

	virtual void Render(CCamera &camera);
	virtual void Update(float fElapsedTime) { }
	
	virtual bool CanFire();
	virtual void Fire(CCamera &camera);
	void SetBulletArray(CPlasmaBulletArray *array) { m_pBulletArray = array; }
	
protected:
	CPlasmaBulletArray *m_pBulletArray;
};

⌨️ 快捷键说明

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