game.h
来自「DirectInput的基本实现 只是基本应用」· C头文件 代码 · 共 58 行
H
58 行
#pragma once
#include "StaticMesh.h"
class CGame
{
LPDIRECT3D9 m_pD3D;
LPDIRECT3DDEVICE9 m_pDevice;
D3DPRESENT_PARAMETERS m_d3dpp;
LPD3DXFONT m_pFont;
bool m_bDeviceLost;
struct Ray
{
D3DXVECTOR3 _origin; //射线起点
D3DXVECTOR3 _dirction; //射线方向
};
struct BoundSphere
{
D3DXVECTOR3 _center;
float radius;
};
bool m_bRotate[2];
float m_fAngle[2];
CStaticMesh *m_pBall[2];
BoundSphere m_boundSphere[2];
/** 初始化D3D设备
*/
HRESULT _InitD3D(HWND hWnd);
public:
CGame(void);
~CGame(void);
bool Init( HINSTANCE hInstance, HWND hWnd );
void Update(float fElapsedTime);
void Render(float fElapsedTime);
void InvalidateDeviceObjects(void);
void RestoreDeviceObjects(void);
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 + -
显示快捷键?