game.h
来自「DirectInput的基本实现 只是基本应用」· C头文件 代码 · 共 50 行
H
50 行
#include "tools.h"
#include "StaticMesh.h"
//我们需要一条射线
struct Ray
{
D3DXVECTOR3 _origin; //射线起点
D3DXVECTOR3 _dirction; //射线方向
};
//绑定球
struct BoundSphere
{
D3DXVECTOR3 _center;
float radius;
};
class CGame
{
public:
LPDIRECT3D9 m_pD3D;//接口指针
LPDIRECT3DDEVICE9 m_pDevice;//设备指针
CStaticMesh * m_pStaticMesh;
BoundSphere m_boundSphere;//绑定球体
bool m_bIsRota;
float Angle;
CGame();//构造函数
~CGame();//析构函数
HRESULT SetEyes();
HRESULT InitD3D( HWND hWnd);//初始化设备
HRESULT InitGame();//初始化游戏
HRESULT SetFog();//设置雾化效果
HRESULT GameLogic(float);//游戏逻辑循环
HRESULT GameRender(float);//游戏渲染
HRESULT ClearUp();//清除资源
//消息传递
void HandleMessage(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
// 计算拾取射线
Ray CalculateRay(int x, int y);
// 转换射线
Ray TransformRay(Ray ray, D3DXMATRIX* T);
// 计算与球的相交
BOOL CheckIntersection(Ray* ray, BoundSphere* sphere);
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?