Пример #1
0
void VoxGame::JoystickCameraZoom(float dt)
{
	bool zoomOut = m_pVoxWindow->GetJoystickButton(0, 4);
	bool zoomIn = m_pVoxWindow->GetJoystickButton(0, 5);

	float zoomAmount = 0.0f;
	if (zoomIn)
	{
		zoomAmount = 10.0f;
	}
	if (zoomOut)
	{
		zoomAmount = -10.0f;
	}

	float changeY = zoomAmount * dt;

	if (m_cameraMode != CameraMode_FirstPerson)
	{
		m_maxCameraDistance += (float)(-changeY);

		WrapCameraZoomValue();
	}
	else
	{
		if (changeY < 0.0f)
		{
			m_cameraDistance = 2.0f;
			m_maxCameraDistance = 2.0f;
		}
	}

	WrapCameraZoomValue();
}
Пример #2
0
void VoxGame::MouseScroll(double x, double y)
{
	GameMode gameMode = GetGameMode();

	if (m_pPlayer->IsDead() == false || (gameMode == GameMode_Debug || m_cameraMode == CameraMode_Debug))
	{
		if (m_bPaused == false)
		{
			if (m_pPlayer->GetTargetEnemy() == NULL) // Don't allow mouse zooming when we are an enemy target.
			{
				if (IsCursorOn() == false || !m_pGUI->IsMouseInteractingWithGUIComponent(false))
				{
					if (m_cameraMode != CameraMode_FirstPerson)
					{
						m_maxCameraDistance += (float)(-y*0.5f);

						WrapCameraZoomValue();
					}
					else
					{
						if (y < 0.0f)
						{
							m_cameraDistance = 2.0f;
							m_maxCameraDistance = 2.0f;
						}
					}
				}
			}
		}
	}
}
Пример #3
0
void VoxGame::MouseScroll(double x, double y)
{
	if (m_pVoxWindow->IsCursorOn() == false || !m_pGUI->IsMouseInteractingWithGUIComponent(false))
	{
		if (m_cameraMode != CameraMode_FirstPerson)
		{
			m_maxCameraDistance += (float)(-y*0.5f);

			WrapCameraZoomValue();
		}
		else
		{
			if (y < 0.0f)
			{
				m_cameraDistance = 2.0f;
				m_maxCameraDistance = 2.0f;
			}
		}
	}
}