Actor3D - hoge1e3/Tonyu2 GitHub Wiki

api

Actor3Dクラス

疑似3D表示(スプライトの拡大,縮小による3D表示)に対応するオブジェクトの基本クラスです.

継承: BaseActor

コンストラクタ

\new(param)

引数の仕様はBaseActorの処理と同じです. BaseActorと同様,mainメソッドの動作を行うようスレッドを作成します.

また,コンストラクタが呼ばれた時点で自分自身を画面に表示します.

現状,表示モードはBaseActorの「画像」のみ対応しています.

フィールド

  • x,y,z
    • オブジェクトの現在位置を表します.
  • position
    • オブジェクトの現在位置を表すVec3Viewオブジェクトです.
    • position.xx には同じ値が入っており,どちらかを書き換えるともう片方も変化します.yzも同様です.
  • direction
    • このオブジェクトが進行方向をあらわすオブジェクトです.
      • 進行方向が変化しても,オブジェクトの画像には変化はありません.
    • forwardbackupdownleftright という6個のVec3オブジェクトをもちます
      • direction.forward のようにアクセスします.
      • これらのVec3オブジェクトは書き換えできません.後述のrotateメソッドで回転をさせてください.

メソッド

  • moveBy(len)
    • このオブジェクトを前方(direction.forwardの方向)にlenの長さ分移動させます
  • moveBy(dir)
    • このオブジェクトをdirで指定された方向に移動させます
    • dirはオブジェクトで,キーにはforwardbackupdownleftright のいずれかを指定できます.
    • 例: 斜め右前に移動
      • moveBy{forward:10,right:10};
  • rotate(axis,angle)
    • このオブジェクトをangle度回転させます.
      • ここでの「回転」は,オブジェクトの向き(進行方向)の回転を指します.オブジェクトの画像には変化はありません.
      • 画像そのものの回転は2DのActor同様, rotationフィールドを書き換えてください.
    • axis には次のいずれかを指定します.
      • "roll" : ロール(前後軸を中心に回転,飛行機やバイクが旋回するときに体を傾けるような回転)
      • "pitch":ピッチ(左右軸を中心に回転,飛行機が上昇下降するときや坂道を上り下りし始めるときの回転)
      • "yaw" :ヨー(上下軸を中心に回転,人や車が向きを変えるときの回転)

参照