📄 game_camera.h
字号:
#pragma once
#include "..\Include\stdafx.h"
class Game_Camera{
FLOAT m_Yaw;
FLOAT m_Pitch;
D3DXVECTOR3 m_vPos;
IDirect3DSurface9 *pBackBuffer;
D3DSURFACE_DESC m_d3dsdBackBuffer;
int m_scrWidth;
int m_scrHeight;
D3DXMATRIX m_matProjection;
D3DXMATRIX m_matView;
public:
D3DXVECTOR3 m_vLookat;
Game_Camera(LPD3DXVECTOR3 pos);
~Game_Camera();
VOID GetLookAt(D3DVECTOR *lookAt){
lookAt->x=m_vPos.x+m_Distance*cosf(m_Pitch)*sinf(m_Yaw);
lookAt->y=m_vPos.y+m_Distance*sinf(m_Pitch);
lookAt->z=m_vPos.z+m_Distance*cosf(m_Pitch)*cosf(m_Yaw);
}
VOID SetLookAt(LPD3DXVECTOR3 pLookAt){
m_vPos.x=pLookAt->x-m_Distance*cosf(m_Pitch)*sinf(m_Yaw); //更新摄像机坐标
m_vPos.y=pLookAt->y-m_Distance*sinf(m_Pitch); //更新摄像机坐标
m_vPos.z=pLookAt->z-m_Distance*cosf(m_Pitch)*cosf(m_Yaw);
}
FLOAT m_Distance;
D3DXVECTOR3 * GetCameraPos(){return &m_vPos;}
D3DXMATRIX* GetViewMatrix(){return &m_matView;}
void MoveRelative(float dSide,float dForward);
void Update2DMatrix();
void Update3DMatrix();
void YawPitchAt(float yaw,float pitch);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -