Actor3D - hoge1e3/Tonyu2 GitHub Wiki
Actor3Dクラス
疑似3D表示(スプライトの拡大,縮小による3D表示)に対応するオブジェクトの基本クラスです.
継承: BaseActor
コンストラクタ
\new(param)
引数の仕様はBaseActorの処理と同じです. BaseActorと同様,mainメソッドの動作を行うようスレッドを作成します.
また,コンストラクタが呼ばれた時点で自分自身を画面に表示します.
現状,表示モードはBaseActorの「画像」のみ対応しています.
フィールド
x,y,z- オブジェクトの現在位置を表します.
position- オブジェクトの現在位置を表すVec3Viewオブジェクトです.
position.xとxには同じ値が入っており,どちらかを書き換えるともう片方も変化します.yやzも同様です.
direction- このオブジェクトが進行方向をあらわすオブジェクトです.
- 進行方向が変化しても,オブジェクトの画像には変化はありません.
forward,back,up,down,left,rightという6個のVec3オブジェクトをもちますdirection.forwardのようにアクセスします.- これらのVec3オブジェクトは書き換えできません.後述の
rotateメソッドで回転をさせてください.
- このオブジェクトが進行方向をあらわすオブジェクトです.
メソッド
- moveBy(len)
- このオブジェクトを前方(
direction.forwardの方向)にlenの長さ分移動させます
- このオブジェクトを前方(
- moveBy(dir)
- このオブジェクトをdirで指定された方向に移動させます
- dirはオブジェクトで,キーには
forward,back,up,down,left,rightのいずれかを指定できます. - 例: 斜め右前に移動
moveBy{forward:10,right:10};
- rotate(axis,angle)
- このオブジェクトを
angle度回転させます.- ここでの「回転」は,オブジェクトの向き(進行方向)の回転を指します.オブジェクトの画像には変化はありません.
- 画像そのものの回転は2DのActor同様,
rotationフィールドを書き換えてください.
- axis には次のいずれかを指定します.
"roll": ロール(前後軸を中心に回転,飛行機やバイクが旋回するときに体を傾けるような回転)"pitch":ピッチ(左右軸を中心に回転,飛行機が上昇下降するときや坂道を上り下りし始めるときの回転)"yaw":ヨー(上下軸を中心に回転,人や車が向きを変えるときの回転)
- このオブジェクトを