import graphics3d.Graphics3DFramework ; import Graphics3D ; // プログラムの最初に呼び出される関数 void onStart ( int rendererID ) { // 画面サイズや背景色の設定(省略可能) setWindowSize(800, 600) ; setBackgroundColor(0, 0, 0, 255) ; // 以下、カラフルなモデルで3D舞台を作成 int box1 = newBoxModel( 1.0, 3.0, 1.0 ); mountModel( box1, rendererID ); setModelColor( box1, 255, 0, 0, 255 ); int box2 = newBoxModel( 1.0, 3.0, 1.0 ); mountModel( box2, rendererID ); setModelColor( box2, 0, 255, 0, 255 ); moveModel( box2, 5.0, 0.0, 5.0 ); int box3 = newBoxModel( 1.0, 3.0, 1.0 ); mountModel( box3, rendererID ); setModelColor( box3, 0, 0, 255, 255 ); moveModel( box3, -5.0, 0.0, 5.0 ); int box4 = newBoxModel( 1.0, 3.0, 1.0 ); mountModel( box4, rendererID ); setModelColor( box4, 255, 255, 0, 255 ); moveModel( box4, 5.0, 0.0, -5.0 ); int box5 = newBoxModel( 1.0, 3.0, 1.0 ); mountModel( box5, rendererID ); setModelColor( box5, 0, 255, 255, 255 ); moveModel( box5, -5.0, 0.0, -5.0 ); } // キーが入力された際に呼び出される ( GUIライブラリのイベントハンドラ ) void onKeyDown( int id, string key ){ // レンダラーのIDを取得 int rendererID = getRenderer(); // 上下キーでカメラの前進後退 if( key == "UP" ){ walkView( rendererID, 0.0, 0.0, -0.3 ); } if( key == "DOWN" ){ walkView ( rendererID, 0.0, 0.0, 0.3 ); } // 左右キーでカメラの方向転換 if( key == "RIGHT" ){ spinViewY ( rendererID, -0.05 ); } if( key == "LEFT" ){ spinViewY ( rendererID, 0.05 ); } }