各種パラメータを指定して FrameSprite
のインスタンスを生成する。
FrameSprite
に設定するパラメータ
子にtouchableなものが含まれているかどうかを表す。
変換行列のキャッシュ。 Object2D
は状態に変更があった時、本値の_modifiedをtrueにする必要がある。
初期値は undefined
であり、 getMatrix()
によって必要な時に生成されるため、
if (this._matrix) this._matrix._modified = true
という式で記述する必要がある。
エンジンに組み込まれているSprite等のエンティティ群は、
すでに本処理を組み込んでいるため通常ゲーム開発者はこの値を意識する必要はない。
Object2D
を継承したクラスを新たに作る場合には、本フィールドを適切に操作しなければならない。
このEが「映り込む」カメラの集合。 空でない配列が指定されている場合、配列内に存在しないCameraでの描画時にはこのEがスキップされる。 初期値はundefinedである。targetCamerasがこの値を暗黙に生成するので、ゲーム開発者はそちらを使うべきである。
オブジェクトのアンカーの横位置。アンカーについては以下の通り。
undefined
である。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。オブジェクトのアンカーの縦位置。アンカーについては以下の通り。
undefined
である。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。オブジェクトの回転。度数で指定する。
初期値は 0
である。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
このエンティティの全子エンティティ。
子エンティティが存在しない場合、本フィールドの値は undefined
または空配列である。
描画時の合成方法を指定する。
初期値は undefined
となり、合成方法を指定しないことを意味する。
E
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
アニメーション終了時にfireされるTrigger。 本Triggerは loop: false の場合にのみfireされる。
現在表示されている画像片のインデックス。
start()
呼び出しによりタイマーで自動的に書き換えられていくが、ゲーム開発者が明示的に値を設定してもよい。
初期値は 0
である。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
アニメーションの内容。
アニメーションの各フレームでの表示内容を指定するインデックスの配列を指定する。初期値は [0]
である。
インデックスは、コンストラクタに渡された画像を幅 srcWidth
, 高さ srcHeight
単位の小さな画像(画像片)の集まりであるとみなして、
各画像片を特定する値である。左上の画像片を 0, その右隣の画像片を 1 として左上から右下に順に割り振られる。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
このオブジェクトの縦幅。
初期値は 0
である。実際の表示領域としてはscaleX, scaleY, angleの値も考慮する必要がある。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
このエンティティに割り振られる Game
単位で一意のID。(ただし local
が真である場合を除く)
アニメーションの更新頻度(ミリ秒)。
指定しなかった場合、 start()
時にFPSの逆数に設定される。(つまり、1フレームごとに画像が切り替わっていく)
この値を変更した場合、反映には this.start()
を呼び出す必要がある。
このエンティティがローカルであるか否か。 コンストラクタで真が指定された時、または属するシーンがローカルシーンまたはローカルティック補間シーンである時、この値は真である。
この値が真である場合、このエンティティに対する point イベントはこのゲームインスタンスにのみ通知され、
他の参加者・視聴者には通知されない。また真である場合、 id
の値の一意性は保証されない。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を直接変更してはならない。
アニメーションをループ再生させるか否か。
初期値は true
である。
このエンティティのmessageイベント。
0~1でオブジェクトの不透明度を表す。
初期値は 1
である。本値が0の場合、Rendererは描画処理を省略する。
E
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
親。
このエンティティのpoint downイベント。
このエンティティのpoint moveイベント。
このエンティティのpoint upイベント。
オブジェクトの横方向の倍率。
初期値は 1
である。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
オブジェクトの縦方向の倍率。
初期値は 1
である。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
このエンティティが属するシーン。
このエンティティの描画時に利用されるシェーダプログラム。
isSupportedShaderProgram()
が偽を返す g.Rendere
で描画される時、 g.Renderer#setShaderProgram()
は呼ばれないことに注意。
また g.FilledRect
やその親エンティティに本値を指定した場合、対象の g.FilledRect
の描画結果は不定である。
これは実装上の制限に基づく現バージョンの仕様である。
この値が undefined
である場合、親のシェーダプログラムが利用される。
この値が null
である場合、明示的にデフォルトのシェーダプログラムが利用される。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
surface
の描画対象部分の高さ。
描画はこの値を this.height
に拡大または縮小する形で行われる。
この値を変更した場合、 this.invalidate()
を呼び出す必要がある。
surface
の描画対象部分の幅。
描画はこの値を this.width
に拡大または縮小する形で行われる。
この値を変更した場合、 this.invalidate()
を呼び出す必要がある。
surface
の描画対象部分の左端。
この値を変更した場合、 this.invalidate()
を呼び出す必要がある。
surface
の描画対象部分の上端。
この値を変更した場合、 this.invalidate()
を呼び出す必要がある。
様々な状態を表すビットフラグ。
描画する画像。
srcX
・ srcY
・ srcWidth
・ srcHeight
の作る矩形がこの画像の範囲外を示す場合、描画結果は保証されない。
この値を変更した場合、 this.invalidate()
を呼び出す必要がある。
ゲーム開発者向けのタグ情報管理コンテナ。 この値はゲームエンジンのロジックからは使用されず、ゲーム開発者は任意の目的に使用してよい。
このエンティティを表示できるカメラの配列。
初期値は空配列である。
この値が undefined
または空配列である場合、このエンティティとその子孫はカメラによらず描画される。
空でない配列である場合、このエンティティとその子孫は、配列内に含まれるカメラでの描画の際にのみ表示される。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
プレイヤーにとって触れられるオブジェクトであるかを表す。
この値が偽である場合、ポインティングイベントの対象にならない。
初期値は false
である。
E
の他のプロパティと異なり、この値の変更後に this.modified()
を呼び出す必要はない。
時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。
このオブジェクトの横幅。
初期値は 0
である。実際の表示領域としてはscaleX, scaleY, angleの値も考慮する必要がある。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
このオブジェクトの横位置。
初期値は 0
である。実際の座標位置はscaleX, scaleY, angle, anchorX, anchorYの値も考慮する必要がある。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
このオブジェクトの縦位置。
初期値は 0
である。実際の座標位置はscaleX, scaleY, angle, anchorX, anchorYの値も考慮する必要がある。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
公開のプロパティから内部の変換行列キャッシュを更新する。
オブジェクトのアンカーの位置を設定する。
このメソッドは anchorX
と anchorY
を同時に設定するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
子を追加する。
子エンティティとして追加するエンティティ
このEの包含矩形を計算する。
使用カメラ。
このエンティティを破棄する。
デフォルトでは利用している Surface
の破棄は行わない点に注意。
trueを指定した場合、このエンティティが抱える Surface
も合わせて破棄する
このエンティティが破棄済みであるかを返す。
自身と自身の子孫の中で、その座標に反応する PointSource
を返す。
戻り値は、対象が見つかった場合、 target
に見つかったエンティティを持つ PointSource
である。
対象が見つからなかった場合、 undefined
である。戻り値が undefined
でない場合、その target
プロパティは次を満たす:
this
) またはその子孫であるE#touchable
が真であるcamera
から可視である中で最も手前にある対象の座標
this
に適用する変換行列。省略された場合、単位行列
touchable指定を無視する場合真を指定する。省略された場合、偽
対象のカメラ。指定されなかった場合undefined
このエンティティが属する Game
を返す。
このオブジェクトの変換行列を得る。
このEを非表示状態にする。
this.show()
が呼ばれるまでの間、このエンティティは各 Renderer
によって描画されない。
また Game#findPointSource()
で返されることもなくなる。
this#pointDown
, pointMove
, pointUp
なども通常の方法ではfireされなくなる。
このエンティティの描画キャッシュ無効化をエンジンに通知する。
このメソッドを呼び出し後、描画キャッシュの再構築が行われ、各 Renderer
に描画内容の変更が反映される。
このエンティティに対する変更をエンジンに通知する。詳細は E#modified()
のドキュメントを参照。
オブジェクトを相対的に移動する。
このメソッドは x
と y
を同時に加算するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
X座標に加算する値
Y座標に加算する値
オブジェクトを移動する。
このメソッドは x
と y
を同時に設定するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
X座標
Y座標
オブジェクトを移動する。
このメソッドは x
と y
を同時に設定するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
X,Y座標
子を削除する。
e
が this
の子でない場合、 AssertionError
がthrowされる。
e === undefined
であり親がない場合、 AssertionError
がthrowされる。
削除する子エンティティ。省略された場合、自身を親から削除する
オブジェクトのサイズを相対的に変更する。
このメソッドは width
と height
を同時に加算するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
加算する幅
加算する高さ
オブジェクトのサイズを設定する。
このメソッドは width
と height
を同時に設定するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
幅
高さ
オブジェクトのサイズを設定する。
このメソッドは width
と height
を同時に設定するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
幅と高さ
オブジェクトの拡大率を設定する。
このメソッドは scaleX
と scaleY
に同じ値を同時に設定するためのユーティリティメソッドである。
E
や Camera2D
においてこのメソッドを呼び出した場合、 modified()
を呼び出す必要がある。
拡大率
このメソッドは、 E#findPointSourceByPoint()
内で子孫の探索をスキップすべきか判断するために呼ばれる。
通常、子孫の描画方法をカスタマイズする一部のサブクラスにおいて、与えられた座標に対する子孫の探索を制御する場合に利用する。
ゲーム開発者がこのメソッドを呼び出す必要はない。
戻り値は、子孫の探索をスキップすべきであれば偽、でなければ真である。
このEを表示状態にする。
this.hide()
によって非表示状態にされたエンティティを表示状態に戻す。
生成直後のエンティティは表示状態であり、 hide()
を呼び出さない限りこのメソッドを呼び出す必要はない。
アニメーションを開始する。
アニメーションを停止する。
このEが表示状態であるかどうかを返す。
Sprite
から FrameSprite
を作成する。
画像として使うSprite
作成されるエンティティの高さ。省略された場合、 sprite.width
Generated using TypeDoc
フレームとタイマーによるアニメーション機構を持つ
Sprite
。このクラスは、コンストラクタで渡された画像を、 幅
srcWidth
, 高さsrcHeight
単位で区切られた小さな画像(以下、画像片)の集まりであると解釈する。 各画像片は、左上から順に 0 から始まるインデックスで参照される。ゲーム開発者は、このインデックスからなる配列を
FrameSprite#frames
に設定する。FrameSprite
は、frames
に指定されたインデックス(が表す画像片)を順番に描画することでアニメーションを実現する。 アニメーションはinterval
ミリ秒ごとに進み、frames
の内容をループする。このクラスにおける
srcWidth
,srcHeight
の扱いは、親クラスであるSprite
とは異なっていることに注意。