キーやマウスなどの様々なイベントを受け取り ナビゲーションなどを行うコントローラのインターフェース。
a3.Windowやa3.Canvasなどのa3.Viewにセットして使う。 a3.Viewの方で発生した色々なイベントを受け取ることが 可能でそれに応答して様々な処理を行わせるための基盤。
update()メソッド内のプログラムでは様々な処理を書いて 良いのだが、カメラの位置、回転、拡大縮小をする 時には注意が必要。例えばカメラの位置を変更する 場合はthis.view.camera.object.position.set()や this.view.camera.setLocation()ではなく、 this.view.camera.transformer.setLocation()を
このControllerインタフェースのupdate()以外の メソッドでは基本的に外部に影響を及ぼす処理は 書かないようにしておき、update()の中で外部に 影響を及ぼすプログラムを書くようにして下さい。 特に、位置、回転、拡大縮小をセットするメソッド (例: setCameraLoc)があるが、これはCameraの インタンスのメソッド(例:camera.setLocation()) から呼び出される。このメソッド内ではtransformer 同様に、直接カメラに操作を加えてはならず、 一旦このController内の情報として要求を 保存しておき、update()メソッドが呼ばれた時に、 this.view.camera.transformer.setLocation()など で反映させる必要がある。(GAHA: もう少しわかり やすい仕様に改善したいけど・・・)
Optional
キーやマウスなどの様々なイベントを受け取り ナビゲーションなどを行うコントローラのインターフェース。
a3.Windowやa3.Canvasなどのa3.Viewにセットして使う。 a3.Viewの方で発生した色々なイベントを受け取ることが 可能でそれに応答して様々な処理を行わせるための基盤。
update()メソッド内のプログラムでは様々な処理を書いて 良いのだが、カメラの位置、回転、拡大縮小をする 時には注意が必要。例えばカメラの位置を変更する 場合はthis.view.camera.object.position.set()や this.view.camera.setLocation()ではなく、 this.view.camera.transformer.setLocation()を
このControllerインタフェースのupdate()以外の メソッドでは基本的に外部に影響を及ぼす処理は 書かないようにしておき、update()の中で外部に 影響を及ぼすプログラムを書くようにして下さい。 特に、位置、回転、拡大縮小をセットするメソッド (例: setCameraLoc)があるが、これはCameraの インタンスのメソッド(例:camera.setLocation()) から呼び出される。このメソッド内ではtransformer 同様に、直接カメラに操作を加えてはならず、 一旦このController内の情報として要求を 保存しておき、update()メソッドが呼ばれた時に、 this.view.camera.transformer.setLocation()など で反映させる必要がある。(GAHA: もう少しわかり やすい仕様に改善したいけど・・・)