/* * Keyboard callback function * Keys and their effects: * a/A: toggle animation * 1: switch to camera position 1 * 2: switch to camera position 2 * 5: toggle light source 1 * 6: toggle light source 2 * 7/d/D: toggle disco lights * q/Q: quit program */ void keyboard(unsigned char key, int x, int y) { switch (key) { case 'A': case 'a': toggleAnimation(); break; case 'D': case 'd': toggleDisco(); break; case '1': switchCamera(0); break; case '2': switchCamera(1); break; case '5': toggleLight(0); break; case '6': toggleLight(1); break; case 'Q': case 'q': exit(0); break; default: break; } }
unsigned char NaoCamera::switchToLower() { if (currentCamera == NAO_LOWER_CAMERA) { return NAO_LOWER_CAMERA; } return switchCamera (NAO_LOWER_CAMERA); }
void RenderDevice::checkEvents(void) { //! Do we want to change camera view? if(m_cEventReceiver->getCameraChange()) { switchCamera(); m_cEventReceiver->setCameraChange(false); } }
/*! \brief Initialize cameras. * */ void RenderDevice::initializeCamera(void) { printf("1\n"); float farClipValue = 3000.0f; //float nearClipValue = 2.0f; printf("2\n"); //! Create FPS style camera. SKeyMap keyMap[8]; keyMap[0].Action = EKA_MOVE_FORWARD; keyMap[0].KeyCode = KEY_UP; keyMap[1].Action = EKA_MOVE_FORWARD; keyMap[1].KeyCode = KEY_KEY_W; keyMap[2].Action = EKA_MOVE_BACKWARD; keyMap[2].KeyCode = KEY_DOWN; keyMap[3].Action = EKA_MOVE_BACKWARD; keyMap[3].KeyCode = KEY_KEY_S; keyMap[4].Action = EKA_STRAFE_LEFT; keyMap[4].KeyCode = KEY_LEFT; keyMap[5].Action = EKA_STRAFE_LEFT; keyMap[5].KeyCode = KEY_KEY_A; keyMap[6].Action = EKA_STRAFE_RIGHT; keyMap[6].KeyCode = KEY_RIGHT; keyMap[7].Action = EKA_STRAFE_RIGHT; keyMap[7].KeyCode = KEY_KEY_D; printf("3\n"); m_FPScamera = m_irrSceneManager->addCameraSceneNodeFPS(0, 100.0f, 180.0f, -1, keyMap, 8); m_FPScamera->setPosition(core::vector3df(0,-300,0)); //m_FPScamera->setNearValue(nearClipValue); m_FPScamera->setFarValue(farClipValue); m_FPScamera->setPosition(vector3df(10,10,10)); m_FPScamera->setTarget(vector3df(0,0,0)); //printf("FPS Camera FOV: %i\n",m_FPScamera->getFOV()); printf("4\n"); //! Create Maya style camera. m_MAYAcamera = m_irrSceneManager->addCameraSceneNodeMaya(0, -80, 80, 80, -1); //m_MAYAcamera->setNearValue(nearClipValue); m_MAYAcamera->setFarValue(farClipValue); m_MAYAcamera->setPosition(vector3df(10,10,10)); m_MAYAcamera->setTarget(vector3df(0,0,0)); printf("5\n"); m_cEventReceiver->setCamera(*m_MAYAcamera); printf("6\n"); m_s32CurrentCamera = CAMERA_STYLE_MAYA; switchCamera(); printf("7\n"); }
bool AsteroidGame::frameRenderingQueued(const Ogre::FrameEvent& fe){ /* This event is called after a frame is queued for rendering */ /* Do stuff in this event since the GPU is rendering and the CPU is idle */ /* Capture input */ keyboard_->capture(); mouse_->capture(); //switch camera if (keyboard_->isKeyDown(OIS::KC_V)) { switchCamera(0); } else if(keyboard_->isKeyDown(OIS::KC_C)) { switchCamera(1); } //Update Managers if(iGameState == GameState::Running){ Ogre::SceneManager* scene_manager = ogre_root_->getSceneManager("MySceneManager"); iPlayerManager->update(scene_manager,keyboard_,mouse_); iAsteroidManager->update(); iProjectileManager->update(scene_manager,keyboard_,iPlayerManager->iPlayer->getPostion(), iPlayerManager->iPlayer->getDirection(), iPlayerManager->iPlayer->getSpeed()); iVFXManager->update(); if(iSoundManager->isSoundPlaying(BACKGROUND)== false)//check background is playing { iSoundManager->audioPlay(BACKGROUND); } }else if(iGameState == GameState::StartMenu){ iMenuManager->update(); } return true; }