各種パラメータを指定して Scene
のインスタンスを生成する。
初期化に用いるパラメータのオブジェクト
このシーンで利用できるアセットへのアクセッサ。
歴史的経緯による assets
との違いに注意。
assets
は「このシーンの生成時に読み込んだアセット」に「アセットIDをキーにして」アクセスするテーブルである。
他方この asset
は getImageById()
, getAllTexts()
などのメソッドを持つオブジェクトである。
アセットIDだけでなくパスでのアクセスや、複数アセットの一括取得ができる点で異なる。
アセット読み込み完了イベント。
このシーンのアセットが一つ読み込みに失敗または成功する度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。
アセット読み込み失敗イベント。
このシーンのアセットが一つ読み込みに失敗する度にfireされる。
アセット読み込み中の動作をカスタマイズしたい場合に用いる。
このイベントをhandleする場合、ハンドラは AssetLoadFailureInfo#cancelRetry
を真にすることでゲーム続行を断念することができる。
アセット読み込み成功イベント。
このシーンのアセットが一つ読み込まれる度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。
このシーンで利用できるアセット。
アセットID をkeyに、対応するアセットのインスタンスを得ることができる。
keyはこのシーンの生成時、コンストラクタの第二引数 assetIds
に渡された配列に含まれる文字列でなければならない。
このシーンの子エンティティ。
エンティティは Scene#append()
によって追加され、 Scene#remove()
によって削除される。
このシーンの属するゲーム。
読み込み完了イベント。
このシーンの生成時に(コンストラクタで)指定されたすべてのアセットの読み込みが終了した後、一度だけfireされる。 このシーンのアセットを利用するすべての処理は、このイベントのfire後に実行されなければならない。
このシーンのローカルティック消化ポリシー。
"non-local"
が与えられた場合、このシーンは非ローカルシーンと呼ばれる。
非ローカルシーンでは、他プレイヤーと共通の時間進行処理((非ローカル)ティックの消化)が行われる(onUpdateがfireされる)。"full-local"
が与えられた場合、このシーンはローカルシーンと呼ばれる。
ローカルシーンでは、他プレイヤーと独立な時間進行処理(ローカルティックの消化)が行われる。"interpolate-local"
が与えられた場合、このシーンはローカルティック補間シーンと呼ばれる。
ローカルティック補間シーンは、非ローカルシーン同様にティックを消化するが、
消化すべき非ローカルティックがない場合にローカルティックが補間され消化される。ローカルシーンとローカルティック補間シーンに属するエンティティは、 すべてローカルである(強制的にローカルエンティティとして生成される)。 ローカルシーンは特にアセットロード中のような、他プレイヤーと同期すべきでないシーンのために存在する機能である。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
汎用メッセージイベント。
シーンの識別用の名前。
アセット読み込み成功イベント。
このシーンのアセットが一つ読み込まれる度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。
アセット読み込み完了イベント。
このシーンのアセットが一つ読み込みに失敗または成功する度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。
アセット読み込み失敗イベント。
このシーンのアセットが一つ読み込みに失敗する度にfireされる。
アセット読み込み中の動作をカスタマイズしたい場合に用いる。
このイベントをhandleする場合、ハンドラは AssetLoadFailureInfo#cancelRetry
を真にすることでゲーム続行を断念することができる。
読み込み完了イベント。
このシーンの生成時に(コンストラクタで)指定されたすべてのアセットの読み込みが終了した後、一度だけfireされる。 このシーンのアセットを利用するすべての処理は、このイベントのfire後に実行されなければならない。
汎用メッセージイベント。
シーン内での操作イベント。
シーン内でのpoint downイベント。
このイベントは E#onPointDown
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint downイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーン内でのpoint moveイベント。
このイベントは E#onPointMove
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint moveイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーン内でのpoint upイベント。
このイベントは E#onPointUp
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint upイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーンの状態変更イベント。
状態が初期化直後の "standby"
状態以外に変化するときfireされる。
時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。
シーン内での操作イベント。
シーン内でのpoint downイベント。
このイベントは E#onPointDown
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint downイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーン内でのpoint moveイベント。
このイベントは E#onPointMove
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint moveイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーン内でのpoint upイベント。
このイベントは E#onPointUp
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint upイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーンスタック上のこのシーンが描画される時、それに先んじてこのシーンの直下のシーンを描画するかどうか。
このシーン自体は seethrough
の値に関わらず常に描画されることに注意。
ただし seethrough
が true の時でもこのシーン以外の onUpdate は実行されない。そのため下のシーンの描画内容も更新されない。この挙動は実験的なものであり、将来的に変更されうる。
シーンの状態。
時間経過の契機(ティック)をどのように生成するか。
"manual"
の場合、 Game#raiseTick()
を呼び出さない限りティックが生成されない(時間経過しない)。
ただしローカルティック(ローカルシーンの間などの「各プレイヤー間で独立な時間経過処理」)はこの値の影響を受けない。
またこのシーンへの遷移直後、一度だけこの値に関わらずティックが生成される。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。
ゲーム開発者向けのコンテナ。
この値はゲームエンジンのロジックからは使用されず、ゲーム開発者は任意の目的に使用してよい。
子エンティティを追加する。
this.children
の末尾に e
を追加する(e
はそれまでに追加されたすべての子エンティティより手前に表示される)。
子エンティティとして追加するエンティティ
setIntervalで作成した定期処理を解除する。
解除対象
setTimeoutで作成した処理を削除する。
解除対象
Timerを削除する。
Scene#createTimer()
と同様に、通常はゲーム開発者がこのメソッドを呼び出す必要はない。
このメソッドを利用する場合、メソッド実行前に対象のTimerのonElapseに登録したハンドラを全て削除しておく必要がある。
削除するTimer
このシーンを破棄する。
破棄処理の開始時に、このシーンの onStateChange
が引数 BeforeDestroyed
でfireされる。
破棄処理の終了時に、このシーンの onStateChange
が引数 Destroyed
でfireされる。
このシーンに紐づいている全ての E
と全てのTimerは破棄される。
Scene#setInterval()
, Scene#setTimeout()
に渡された関数は呼び出されなくなる。
このメソッドは Scene#end
や Game#popScene
などによって要求されたシーンの遷移時に暗黙に呼び出される。
通常、ゲーム開発者がこのメソッドを呼び出す必要はない。
シーン内でその座標に反応する PointSource
を返す。
対象の座標
Optional
force: booleantouchable指定を無視する場合真を指定する。指定されなかった場合偽
Optional
camera: Camera対象のカメラ。指定されなかった場合undefined
次のシーンへの遷移を要求する。
このメソッドは、 toPush
が真ならば Game#pushScene()
の、でなければ Game#replaceScene
のエイリアスである。
このメソッドは要求を行うだけである。呼び出し直後にはシーン遷移は行われていないことに注意。
このシーンが現在のシーンでない場合、 AssertionError
がthrowされる。
遷移後のシーン
Optional
toPush: boolean現在のシーンを残したままにするなら真、削除して遷移するなら偽を指定する。省略された場合偽
このSceneにエンティティを登録する。
このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に呼び出す必要はない。
登録するエンティティ
子エンティティを削除する。
this
の子から e
を削除する。 e
が this
の子でない場合、何もしない。
削除する子エンティティ
一定間隔で定期的に実行される処理を作成する。
interval
ミリ秒おきに owner
を this
として handler
を呼び出す。
戻り値は Scene#clearInterval
の引数に指定して定期実行を解除するために使える値である。
このタイマーはフレーム経過処理(Scene#onUpdate
)で実現される疑似的なタイマーである。実時間の影響は受けない。
関数は指定時間の経過直後ではなく、経過後最初のフレームで呼び出される。
処理
実行間隔(ミリ秒)
Optional
owner: anyhandlerの所有者。省略された場合、null
一定時間後に一度だけ実行される処理を作成する。
milliseconds
ミリ秒後(以降)に、一度だけ owner
を this
として handler
を呼び出す。
戻り値は Scene#clearTimeout
の引数に指定して処理を削除するために使える値である。
このタイマーはフレーム経過処理(Scene#onUpdate
)で実現される疑似的なタイマーである。実時間の影響は受けない。
関数は指定時間の経過直後ではなく、経過後最初のフレームで呼び出される。
(理想的なケースでは、30FPSなら50msのコールバックは66.6ms時点で呼び出される)
時間経過に対して厳密な処理を行う必要があれば、自力で Scene#onUpdate
通知を処理すること。
処理
時間(ミリ秒)
Optional
owner: anyhandlerの所有者。省略された場合、null
このSceneからエンティティの登録を削除する。
このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に呼び出す必要はない。
登録を削除するエンティティ
シーンを表すクラス。