Skip to content

Controllerについて

Controllerとは

Controllerは、マウス・タッチ・キーボードなどの入力を処理する 役割を持つ部品です。各Viewには1つのControllerが設定されていて、 setController()で切り替えられます。

js
view.setController(new a3.AvatarPositionController(player));

デフォルトでは、マウスやタッチで視点を回せる OrbitControllerクラスが設定されています。 入力処理が何もない状態にしたいとき(ゲームでカメラを勝手に 動かされたくないときなど)は、空実装のBaseControllerを 設定します。

js
view.setController(new a3.BaseController());

独自の操作を作りたいときは、BaseControllerを継承して必要な メソッド(keyDown()mouseMove()・毎フレームのupdate()など) だけをオーバーライドします。

なお、スマホ向けのジョイスティックUIは、Controllerではなく GameCanvasクラスが提供しています。

OrbitControllerクラス

マウスやタッチで視点を回転・ズームできるコントローラー (デフォルト)です。

AvatarPositionControllerクラス

キーボードでキャラクターを動かすコントローラーです。位置指定 方式で、接地判定が安定しています。

AvatarVelocityControllerクラス

キーボードでキャラクターを動かすコントローラーです。速度指定 方式で、周囲の剛体と物理的に相互作用できます。