bool Application::OnEvent(const SEvent &TEvent) { static int ph = 0; if(TEvent.EventType == EET_KEY_INPUT_EVENT && !TEvent.KeyInput.PressedDown) { switch(TEvent.KeyInput.Key) { case KEY_ESCAPE: Done = true; break; case KEY_KEY_Q: paused = ~paused; break; case KEY_KEY_T: mRCThrottle += 10; break; case KEY_KEY_G: mRCThrottle -= 10; break; case KEY_LEFT: mRCRoll -= 10; break; case KEY_RIGHT: mRCRoll += 10; break; case KEY_UP: ph+=1; mRCPitch += 10; break; case KEY_DOWN: ph-=1; mRCPitch -= 10; break; case KEY_KEY_F: mRCYaw -= 1; break; case KEY_KEY_H: mRCYaw += 1; break; case KEY_KEY_1: CreateBox(btVector3(GetRandInt(10) - 5.0f, 7.0f, GetRandInt(10) - 5.0f), vector3df(GetRandInt(3) + 0.5f, GetRandInt(3) + 0.5f, GetRandInt(3) + 0.5f), 500.0f); break; case KEY_KEY_X: CreateStartScene(); break; default: return false; break; } return true; } return false; }
void GSceneSelector::RunApplication() { GnSrand( time( 0 ) ); // initialize director CCDirector *pDirector = CCDirector::sharedDirector(); pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); pDirector->setDisplayFPS(true); pDirector->setAnimationInterval(1.0 / 60); CreatePlayingData(); GScene* gameScene = CreateStartScene(); if( gameScene ) pDirector->runWithScene( gameScene ); SetCurrentScene( gameScene ); CCDirector::sharedDirector()->setDisplayFPS(false); }
Application::Application():sock(true){ //int16_t mRCYaw = mRCPitch = mRCRoll = 0; mRCThrottle = 1250; mRCPitch = 1500; mRCYaw = 1500; mRCRoll = 1500; mRCThrottle = 2000; mRCPitch = 1000; mRCYaw = 1000; mRCRoll = 1000; irrDevice = createDevice(video::EDT_OPENGL, dimension2d<u32>(640, 480), 32, false, false, false, this); irrGUI = irrDevice->getGUIEnvironment(); irrTimer = irrDevice->getTimer(); irrScene = irrDevice->getSceneManager(); irrDriver = irrDevice->getVideoDriver(); irrDevice->getCursorControl()->setVisible(0); // load a map irrDevice->getFileSystem()->addFileArchive("map-20kdm2.pk3"); scene::IAnimatedMesh* mesh = irrScene->getMesh("20kdm2.bsp"); scene::ISceneNode* node = 0; if (mesh) node = irrScene->addOctreeSceneNode(mesh->getMesh(0), 0, -1, 1024); if (node) node->setPosition(core::vector3df(-1300,-144,-1249)); // Initialize bullet CollisionConfiguration = new btDefaultCollisionConfiguration(); BroadPhase = new btAxisSweep3(btVector3(-1000, -1000, -1000), btVector3(1000, 1000, 1000)); Dispatcher = new btCollisionDispatcher(CollisionConfiguration); Solver = new btSequentialImpulseConstraintSolver(); World = new btDiscreteDynamicsWorld(Dispatcher, BroadPhase, Solver, CollisionConfiguration); World->setGravity(btVector3(0, -9.82, 0)); // Add camera ICameraSceneNode *Camera = irrScene->addCameraSceneNodeFPS(0, 100, 0.01); //ICameraSceneNode *Camera = irrScene->addCameraSceneNode(); Camera->setPosition(vector3df(0, 0, 0)); Camera->setRotation(vector3df(45, -30, 0)); //Camera->setUpVector(vector3df(0, 0, 1.0)); //Camera->setTarget(vector3df(1, 0, 0)); // Preload textures irrDriver->getTexture("ice0.jpg"); irrDriver->getTexture("rust0.jpg"); // Create the initial scene irrScene->addLightSceneNode(0, core::vector3df(2, 5, -2), SColorf(4, 4, 4, 1)); irrScene->addLightSceneNode(0, core::vector3df(2, -5, -2), SColorf(4, 4, 4, 1)); CreateStartScene(); // Main loop TimeStamp = irrTimer->getTime(), DeltaTime = 0; Copter *view = new Copter(this); activeQuad = view; sock.bind("127.0.0.1", 9002); }
void GSceneSelector::ChangeSceneCheck() { gstring& changeName = GScene::GetChangeSceneName(); if( changeName.empty() == false ) { CCDirector* pDirector = CCDirector::sharedDirector(); GScene* changeScene = NULL; if( changeName == GScene::SCENENAME_START ) { if( mpLoadingScene == NULL ) { SetLoadingScene(); return; } ReleaseScene(); changeScene = CreateStartScene(); } else if( changeName == GScene::SCENENAME_STATE ) { if( mPlayOpening ) { mPlayOpening = false; CCScene* openingScene = GOpeningScene::CreateLoadingScene( 0 ); if( openingScene ) { pDirector->replaceScene( openingScene ); changeName.clear(); } return; } else if( mpCurrentScene->GetSceneName() == GScene::SCENENAME_SELECTSTAGE ) { if( mpStateScene ) changeScene = mpStateScene; else changeScene = CreateStateScene(); } else { // if( mpCurrentScene->GetSceneName() == GScene::SCENENAME_GAME ) // { // if( mpGameScene->IsWinGame() ) // { // GPlayingData* playing = GPlayingDataManager::GetSingleton()->GetPlayingPlayerData(); // GPlayingData::ModeInfo& info = playing->GetCurrentModeInfo(); // info.mLastClearStage += 1; // GPlayingDataManager::GetSingleton()->SaveData(); // } // } if( mpLoadingScene == NULL ) { SetLoadingScene(); return; } ReleaseScene(); changeScene = CreateStateScene(); } } else if( changeName == GScene::SCENENAME_SELECTSTAGE ) { if( mpCurrentScene->GetSceneName() == GScene::SCENENAME_STATE ) { if( mpSelectStageScene ) changeScene = mpSelectStageScene; else changeScene = CreateSelectStageScene(); } else { if( mpLoadingScene == NULL ) { SetLoadingScene(); return; } ReleaseScene(); changeScene = CreateSelectStageScene(); } } else if( changeName == GScene::SCENENAME_GAME ) { if( mpLoadingScene == NULL ) { SetLoadingScene(); return; } ReleaseScene(); changeScene = CreateGameScene(); } SetCurrentScene( changeScene ); if( changeScene ) pDirector->replaceScene( changeScene ); mpLoadingScene = NULL; changeName.clear(); } }