各種パラメータを指定して 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はこのいずれでも正しく動作するように利用される必要がある。