📄 ccamera.h
字号:
#ifndef _CCamera_H_
#define _CCamera_H_
#include "FileHeads.h"
#include "CTerrain.h"
class CCamera
{
public :
enum CameraType {LANDOBJECT,AIRCRAFT };
CCamera();
CCamera(CameraType caneraType);
~CCamera();
void strafe(float units);//左右
void fly(float units); //上下
void walk(float units);//前后
/////摄像机的3个方向
void pitch(float angle);//right
void yaw(float angle);//up
void roll(float angele);//look
void getViewMatrix(D3DXMATRIX *V);
void setCameraType(CameraType cameraType);//设置摄像机的类型
void getPosition(D3DXVECTOR3 *pos);
void setPosition(D3DXVECTOR3 *pos);
void getRight(D3DXVECTOR3 *right);
void getUp(D3DXVECTOR3 *up);
void getLook(D3DXVECTOR3 *look);
/////鼠标和按键监听/////
virtual LRESULT HandleMessage(HWND hWnd, UINT msg, WPARAM wParam,LRESULT lParam);
virtual void ProcesKey(LPDIRECT3DDEVICE9 Device,float fElapsedTime);
/// 将视矩阵和投影矩阵设置给D3D设备
virtual void Update( LPDIRECT3DDEVICE9 Device, float fElapsedTime );
POINT m_LastPoint;
/// 上一个鼠标位置
bool m_bIsRot;
/// 用户是否平移了摄像机
bool m_bIsTrans;
/// 摄像机的移动速度,单位/秒
float m_fVelocity;//相当于类中 方法的形参units
private:
CameraType _cameraType;
D3DXVECTOR3 _right;
D3DXVECTOR3 _up;
D3DXVECTOR3 _look;
D3DXVECTOR3 _pos;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -