//--------------------------- Camera
 PyObject* LMF_CameraMove(PyObject *self, PyObject *args){
	float fX,fY;
	if (!PyArg_ParseTuple(args, "ff", &fX,&fY)) {
		ParsePyTupleError( __func__, __LINE__ );
		return nullptr;
	}
	CameraMove(fX,fY);
	Py_RETURN_NONE;
}
예제 #2
0
void CPlayScene::Update( float dTime )
{	
	// camera move. 플레이어가 프레임 경계까지 가면 카메라가 따라서 움직인다.
	CameraMove( m_MainMap->GetPlayer1(), dTime );

	// UI update
	if (m_MainMap->GetGameResult() == GAME_NOT_END) {
		UImanager::GetInstance()->Update( dTime, m_MainMap->GetPlayer1(), m_MainMap->GetPlayer2() );
		// 모든 게임 플레이 관련 처리는 메인 맵에서 한다.
		m_MainMap->Update( dTime, m_Frame );
	}
	
	if (m_MainMap->GetGameResult() != GAME_NOT_END)
		GameResultScene(dTime);
}
예제 #3
0
BOOL CSceneEditorView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
	// TODO: Add your message handler code here and/or call default
	Ogre::Vector3 CameraMove(0.0, 0.0, 0.0);

	CameraMove[2] = 1 * zDelta;

	CEngine * Engine = ((CSceneEditorApp*)AfxGetApp())->m_Engine;
	if (Engine == NULL)
		return false;
	Ogre::Root *Root = Engine->GetRoot();
	if (m_Camera == NULL)
		return false;
	m_Camera->moveRelative(CameraMove);

	return CView::OnMouseWheel(nFlags, zDelta, pt);
}
BOOL CTransparentMaterialView::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
	Ogre::Vector3 CameraMove(0.0, 0.0, 0.0);

	CameraMove[2] = 0.1 * zDelta;

	CEngine * Engine = ((CTransparentMaterialApp*)AfxGetApp())->m_Engine;
	if (Engine == NULL)
		return false;
	Ogre::Root *Root = Engine->GetRoot();
	if (m_Camera == NULL)
		return false;
	m_Camera->moveRelative(CameraMove);

	Root->renderOneFrame();
	return CView::OnMouseWheel(nFlags, zDelta, pt);
}
void CGeoImageView::OnMouseMove(UINT nFlags, CPoint point)
{
	if (m_MouseNavigation)
	{
	Ogre::Vector3 CameraMove(0.0, 0.0, 0.0);

	CameraMove[0] = -(m_MousePosition.x - point.x);
	CameraMove[1] = m_MousePosition.y - point.y;

	CEngine * Engine = ((CGeoImageApp*)AfxGetApp())->m_Engine;
	if (Engine == NULL)
		return;
	Ogre::Root *Root = Engine->GetRoot();
	if (m_Camera == NULL)
		return;
	m_Camera->moveRelative(CameraMove);

	m_MousePosition = point;

	Root->renderOneFrame();
	}
	CView::OnMouseMove(nFlags, point);
}
예제 #6
0
void CSceneEditorView::OnMouseMove(UINT nFlags, CPoint point)
{
	// TODO: Add your message handler code here and/or call default
	if (m_MouseNavigation)
	{
		Ogre::Vector3 CameraMove(0.0, 0.0, 0.0);

		CameraMove[0] = -(m_MousePosition.x - point.x);
		CameraMove[1] = -(m_MousePosition.y - point.y);

		CEngine * Engine = ((CSceneEditorApp*)AfxGetApp())->m_Engine;
		if (Engine == NULL)
			return;
		Ogre::Root *Root = Engine->GetRoot();
		if (m_Camera == NULL)
			return;
		m_Camera->yaw(Ogre::Degree(CameraMove[0] * 0.10f));
		m_Camera->pitch(Ogre::Degree(CameraMove[1] * 0.10f));

		m_MousePosition = point;
	}

	CView::OnMouseMove(nFlags, point);
}