camera.cpp

来自「大家好!这是一个网络游戏源码」· C++ 代码 · 共 87 行

CPP
87
字号
#include "camera.h"

CAMERA::CAMERA()
{
	fEyeX = 100.0f;
	fEyeY = 100.0f;
	fEyeZ = 81.65f;
	
	fRefX = 0.0f; 
	fRefY = 0.0f;
	fRefZ = 0.0f;
	InitPosition(fEyeX , fEyeY , fEyeZ , fRefX , fRefY , fRefZ);
	sprintf(strCameraInfo , _T("camera : (%4.02f %4.02f %4.02f)__(%4.02f %4.02f %4.02f)") , 
				m_EyePos.x , m_EyePos.y , m_EyePos.z , 
				m_RefPos.x , m_RefPos.y , m_RefPos.z); 

}

CAMERA::~CAMERA() {}

VOID CAMERA::Move(DWORD dwMoveType)
{
  
	float fStep = 0.4f;	
	D3DVECTOR Move(0 , 0 , 0);
	
	switch(dwMoveType)
	{
		case MOVE_LEFT:
		{
			Move+=D3DVECTOR(1 , 0 , 0);
			Move+=D3DVECTOR(0 , -1 , 0);
			Move*=fStep;
			m_EyePos+=Move;
			m_RefPos+=Move;
			break;
		}
		case MOVE_RIGHT:
		{
			Move+=D3DVECTOR(-1 , 0 , 0);
			Move+=D3DVECTOR(0 , 1 , 0);
			Move*=fStep;
			m_EyePos+=Move;
			m_RefPos+=Move;
			break;
		}
		case MOVE_FORWARD:
		{
		    Move+=D3DVECTOR(-1 , 0 , 0);
			Move+=D3DVECTOR(0 , -1 , 0);
			Move*=(fStep*2);
			m_EyePos+=Move;
			m_RefPos+=Move;
			break;
		}
		case MOVE_BACKWARD:
		{
			Move+=D3DVECTOR(1 , 0 , 0);
			Move+=D3DVECTOR(0 , 1 , 0);
			Move*=(fStep*2);
			m_EyePos+=Move;
			m_RefPos+=Move;
			break;
		}
		case MOVE_UP:
		{
			m_EyePos.z+=0.05f; 
			break;
		}
		case MOVE_DOWN:
		{
			m_EyePos.z-=0.05f; 
			break;
		}
		case ROTATE_VEER:
		{
			 break;
		}
		case ROTATE_REVERSE:
		{
			 break;
		}
  }
  sprintf(strCameraInfo , _T("camera : (%4.02f %4.02f %4.02f)__(%4.02f %4.02f %4.02f)") , 
				m_EyePos.x , m_EyePos.y , m_EyePos.z , 
				m_RefPos.x , m_RefPos.y , m_RefPos.z); 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?