Ejemplo n.º 1
0
/*
 * 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;
    }
}
Ejemplo n.º 2
0
unsigned char NaoCamera::switchToLower()
{
	if (currentCamera == NAO_LOWER_CAMERA)
	{
		return NAO_LOWER_CAMERA;
	}

	return switchCamera (NAO_LOWER_CAMERA);
}
Ejemplo n.º 3
0
void RenderDevice::checkEvents(void)
{
  //! Do we want to change camera view?
  if(m_cEventReceiver->getCameraChange())
  {
    switchCamera();
    m_cEventReceiver->setCameraChange(false);
  }
}
Ejemplo n.º 4
0
/*! \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");
}
Ejemplo n.º 5
0
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;
}