//--------------------------- 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; }
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); }
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); }
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); }