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

📄 ccamera.h

📁 骨骼动画 此程序演示了如何在你的游戏中使用骨骼动画技术。
💻 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 + -