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

📄 ch21p1_gun.h

📁 游戏开发特殊技巧-special.effects.game.programming
💻 H
字号:
#ifndef CGUN_H_INCLUDED
#define CGUN_H_INCLUDED

#include <D3D8.h>
#include <D3DX8.h>
#include <D3DX8math.h>

#include "D3DFile.h"
#include "D3DFont.h"
#include "D3DUtil.h"
#include "DXUtil.h"
#include "CommonFuncs.h"
#include "D3DHelperFuncs.h"
#include "Camera.h"
#include "Timer.h"

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

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

	virtual void Render(CCamera &camera) = 0;
	virtual void Update(float fElapsedTime) = 0;

	virtual bool CanFire() = 0;
	virtual void Fire(CCamera &camera) = 0;

	CD3DMesh *GetMesh() { return(m_pMesh); }
	CTimer &Timer() { return(m_Timer); }

	D3DXVECTOR3 &Pos() { return(m_vPos); }
		
protected:
	void AssembleWorldMatrix(CCamera &camera, D3DXMATRIX &matWorld, 
		D3DXVECTOR3 vTranslation = D3DXVECTOR3(0,0,0));

	// gun model
	CD3DMesh* m_pMesh;

	CTimer m_Timer;

	D3DXVECTOR3 m_vPos;
	LPDIRECT3DDEVICE8 m_pd3dDevice;

};

#endif

⌨️ 快捷键说明

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