コード例 #1
0
ファイル: Animation.cpp プロジェクト: VincentUCLA/Bee-demo-gl
	// *******************************************************	
	// init_keys():  Define any extra keyboard shortcuts here
	virtual	void init_keys() 
	{
		keys.addHandler		( 'w', 0,					Callback<Animation>( &Animation::forward , this ) );
		keys.addHandler		( 'a', 0,					Callback<Animation>( &Animation::left    , this ) );
		keys.addHandler		( 's', 0,					Callback<Animation>( &Animation::back    , this ) );
		keys.addHandler		( 'd', 0,					Callback<Animation>( &Animation::right   , this ) );
		keys.addHandler		( ' ', 0,					Callback<Animation>( &Animation::up      , this ) );
		keys.addHandler		( 'z', 0,					Callback<Animation>( &Animation::down    , this ) );
		
		keys.addHandler		( 'w', GLUT_Port::RELEASE,  Callback<Animation>( &Animation::stopZ , this ) );
		keys.addHandler		( 'a', GLUT_Port::RELEASE,  Callback<Animation>( &Animation::stopX , this ) );
		keys.addHandler		( 's', GLUT_Port::RELEASE,  Callback<Animation>( &Animation::stopZ , this ) );
		keys.addHandler		( 'd', GLUT_Port::RELEASE,  Callback<Animation>( &Animation::stopX , this ) );
		keys.addHandler		( ' ', GLUT_Port::RELEASE,  Callback<Animation>( &Animation::stopY , this ) );
		keys.addHandler		( 'z', GLUT_Port::RELEASE,  Callback<Animation>( &Animation::stopY , this ) );
		
		keys.addHandler		( '.', 0,                   Callback<Animation>( &Animation::roll_left , this ) );
		keys.addHandler		( ',', 0,                   Callback<Animation>( &Animation::roll_right , this ) );
		keys.addHandler		( 'r', 0,                   Callback<Animation>( &Animation::reset , this ) );
		keys.addHandler		( 'f', 0,                   Callback<Animation>( &Animation::toggleLooking , this ) );
		
		keys.addHandler		( 'n', GLUT_Port::ALT,      Callback<Animation>( &Animation::toggleColorNormals , this ) );
		keys.addHandler		( 'g', GLUT_Port::ALT,      Callback<Animation>( &Animation::toggleGouraud , this ) );
		keys.addHandler		( 's', GLUT_Port::ALT,      Callback<Animation>( &Animation::toggleSolid , this ) );
		keys.addHandler		( 'a', GLUT_Port::ALT,      Callback<Animation>( &Animation::toggleAnimate , this ) );

		update_controls< Animation >( keys );
	}