各種パラメータを指定して SystemLabel
のインスタンスを生成する。
このエンティティに指定するパラメータ
子に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()
を呼び出す必要がある。
フォントファミリ。
初期値は FontFamily.SansSerif
である。
現バージョンのakashic-engineの SystemLabel
において、この値の指定は参考値に過ぎない。
そのため、実行環境によっては無視される事がありうる。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
フォントサイズ。
0以上の数値でなければならない。そうでない場合、動作は不定である。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
このオブジェクトの縦幅。
初期値は 0
である。実際の表示領域としてはscaleX, scaleY, angleの値も考慮する必要がある。
E
や Camera2D
においてこの値を変更した場合、 modified()
を呼び出す必要がある。
このエンティティに割り振られる Game
単位で一意のID。(ただし local
が真である場合を除く)
このエンティティがローカルであるか否か。 コンストラクタで真が指定された時、または属するシーンがローカルシーンまたはローカルティック補間シーンである時、この値は真である。
この値が真である場合、このエンティティに対する point イベントはこのゲームインスタンスにのみ通知され、
他の参加者・視聴者には通知されない。また真である場合、 id
の値の一意性は保証されない。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を直接変更してはならない。
描画時に考慮すべき最大幅。
初期値は undefined
である。
数値である場合、エンジンはこの幅を超える長さの文字列について、この幅に収まるように描画するよう要求する。その方法は環境に依存する。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
このエンティティの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()
を呼び出す必要がある。
様々な状態を表すビットフラグ。
輪郭色。CSS Colorで指定する。
初期値は "black" である。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
文字の描画スタイルを切り替える。初期値は false
である。
true
を指定した場合、文字全体は描画されず、輪郭のみ描画される。
false
を指定した場合、文字全体と輪郭が描画される。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
輪郭幅。初期値は 0
である。
0以上の数値でなければならない。0を指定した場合、輪郭は描画されない。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
ゲーム開発者向けのタグ情報管理コンテナ。 この値はゲームエンジンのロジックからは使用されず、ゲーム開発者は任意の目的に使用してよい。
このエンティティを表示できるカメラの配列。
初期値は空配列である。
この値が undefined
または空配列である場合、このエンティティとその子孫はカメラによらず描画される。
空でない配列である場合、このエンティティとその子孫は、配列内に含まれるカメラでの描画の際にのみ表示される。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
描画する文字列。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
文字列の描画位置。
初期値は TextAlign.Left
である。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
文字列のベースライン。
初期値は TextBaseline.Alphabetic
である。
この値を変更した場合、 this.modified()
を呼び出す必要がある。
文字色。CSS Colorで指定する。
初期値は "black" である。
この値を変更した場合、 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の包含矩形を計算する。
使用カメラ。
このエンティティを破棄する。
親がある場合、親からは remove()
される。
子孫を持っている場合、子孫も破棄される。
このエンティティが破棄済みであるかを返す。
自身と自身の子孫の中で、その座標に反応する 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されなくなる。
このエンティティに対する変更をエンジンに通知する。
このメソッドの呼び出し後、 this
に対する変更が各 Renderer
の描画に反映される。
ただし逆は真ではない。すなわち、再描画は他の要因によって行われることもある。
ゲーム開発者は、このメソッドを呼び出していないことをもって再描画が行われていないことを仮定してはならない。
本メソッドは、このオブジェクトの Object2D
由来のプロパティ (x
, y
, angle
など) を変更した場合にも呼びだす必要がある。
本メソッドは、描画キャッシュの無効化処理を含まない。描画キャッシュを持つエンティティは、このメソッドとは別に invalidate()
を提供している。
描画キャッシュの無効化も必要な場合は、このメソッドではなくそちらを呼び出す必要がある。
オブジェクトを相対的に移動する。
このメソッドは 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が表示状態であるかどうかを返す。
Generated using TypeDoc
システムフォントで文字列を描画するエンティティ。
ここでいうシステムフォントとは、akashic-engine実行環境でのデフォルトフォントである。 システムフォントは実行環境によって異なる場合がある。したがって
SystemLabel
による描画結果が各実行環境で同一となることは保証されない。 その代わりにSystemLabel
は、Assetの読み込みなしで文字列を描画する機能を提供する。絵文字などを含むユニコード文字列をすべて
BitmapFont
で提供する事は難しいことから、 このクラスは、事実上akashic-engineにおいてユーザ入力文字列を取り扱う唯一の手段である。SystemLabel
はユーザインタラクションの対象に含めるべきではない。 上述のとおり、各実行環境で描画内容の同一性が保証されないためである。 ユーザ入力文字列を含め、SystemLabel
によって提示される情報は、参考程度に表示されるなどに留めるべきである。 具体的にはSystemLabel
をtouchable
にする、Util.createSpriteFromE()
の対象に含めるなどを行うべきではない。 ボタンのようなエンティティのキャプション部分も出来る限りLabel
を用いるべきで、SystemLabel
を利用するべきではない。また、akashic-engineは
SystemLabel
の描画順を保証しない。 実行環境によって、次のどちらかが成立する:SystemLabel
は、他エンティティ同様にScene#children
のツリー構造のpre-order順で描かれる。SystemLabel
は、他の全エンティティが描画された後に(画面最前面に)描画される。実行環境に依存しないゲームを作成するためには、
SystemLabel
はこのいずれでも正しく動作するように利用される必要がある。