void CatalogApp::update() { if( getElapsedSeconds() - mMouseTimePressed < mMouseTimeThresh && !mMousePressed ){ mMouseTimePressed = 0.0f; selectStar( mWasRightButtonLastClicked ); } mRoom.update(); if( mRoom.isPowerOn() ) mScaleDest -= ( mScaleDest - mMaxScale ) * 0.05f; mScale -= ( mScale - mScaleDest ) * 0.02f; mScalePer = mScale/mMaxScale; // CAMERA if( mHomeStar != NULL ){ mSpringCam.setEye( mHomeStar->mPos + Vec3f( 100.0f, 0.0f, 40.0f ) ); } if( mDestStar != NULL ){ mSpringCam.setCenter( mDestStar->mPos ); } if( mMousePressed ) mSpringCam.dragCam( ( mMouseOffset ) * 0.01f, ( mMouseOffset ).length() * 0.01 ); mSpringCam.update( 0.25f ); BOOST_FOREACH( Star* &s, mBrightStars ){ s->update( mSpringCam.getCam(), mScale ); }
void BubbleChamberApp::keyDown( KeyEvent event ) { switch( event.getChar() ){ case ' ': mRoom.togglePower(); break; case 'm': mController.releaseMoths(); break; case '1': mController.preset( 1 ); break; case '2': mController.preset( 2 ); break; case '3': mController.preset( 3 ); break; case '4': mController.preset( 4 ); break; case '5': mController.preset( 5 ); break; case '6': mController.preset( 6 ); break; default: break; } switch( event.getCode() ){ case KeyEvent::KEY_UP: mSpringCam.setEye( mRoom.getCornerCeilingPos() ); break; case KeyEvent::KEY_DOWN: mSpringCam.setEye( mRoom.getCornerFloorPos() ); break; case KeyEvent::KEY_RIGHT: mSpringCam.resetEye(); break; case KeyEvent::KEY_ESCAPE: quit(); break; default: break; } }