LoadingScene
のインスタンスを生成する。
初期化に用いるパラメータのオブジェクト
Scene#requestAssets()
で動的に要求されたアセットの保持者。
読み込みが開始されたか否か。
すなわち、 _load()
が呼び出された後か否か。
歴史的経緯により、このフラグの意味は「読み込みが終わった後」でも「loadedがfireされた後」でもない点に注意。
なお前者「(アセットとストレージの)読み込みが終わった後」は _loadingState === SceneLoadState.Ready
に与えられる。
シーンの読み込みは概ね次の順で処理が進行する。
_loaded
が真になる_loadingState
が SceneLoadState.Ready
になる_ready
がfireされる_loadingState
が SceneLoadState.ReadyFired
になるloaded
がfireされる_loadingState
が SceneLoadState.LoadedFired
になるアセットとストレージの読み込みが終わった後か否か。
「 loaded
がfireされた後」ではない点に注意。
先読みが要求されたか否か。
すなわち、 prefetch()
が呼び出された後か否か。
アセットとストレージの読み込みが終わったことを通知するTrigger。
シーンのアセットの保持者。
タイマー。通常は本変数直接ではなく、createTimer/deleteTimer/setInterval/clearInterval等の機構を利用する。
アセット読み込み完了イベント。
このシーンのアセットが一つ読み込みに失敗または成功する度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。
アセット読み込み失敗イベント。
このシーンのアセットが一つ読み込みに失敗する度にfireされる。
アセット読み込み中の動作をカスタマイズしたい場合に用いる。
このイベントをhandleする場合、ハンドラは AssetLoadFailureInfo#cancelRetry
を真にすることでゲーム続行を断念することができる。
アセット読み込み成功イベント。
このシーンのアセットが一つ読み込まれる度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。
このシーンで利用できるアセット。
アセットID をkeyに、対応するアセットのインスタンスを得ることができる。
keyはこのシーンの生成時、コンストラクタの第二引数 assetIds
に渡された配列に含まれる文字列でなければならない。
このシーンの子エンティティ。
エンティティは Scene#append()
によって追加され、 Scene#remove()
によって削除される。
このシーンの属するゲーム。
読み込み完了イベント。
このシーンの生成時に(コンストラクタで)指定されたすべてのアセットの読み込みが終了した後、一度だけfireされる。 このシーンのアセットを利用するすべての処理は、このイベントのfire後に実行されなければならない。
このシーンのローカルティック消化ポリシー。
LocalTickMode.NonLocal
が与えられた場合、このシーンは非ローカルシーンと呼ばれる。
非ローカルシーンでは、他プレイヤーと共通の時間進行処理((非ローカル)ティックの消化)が行われる(updateがfireされる)。LocalTickMode.FullLocal
が与えられた場合、このシーンはローカルシーンと呼ばれる。
ローカルシーンでは、他プレイヤーと独立な時間進行処理(ローカルティックの消化)が行われる。LocalTickMode.InterpolateLocal
が与えられた場合、このシーンはローカルティック補間シーンと呼ばれる。
ローカルティック補間シーンは、非ローカルシーン同様にティックを消化するが、
消化すべき非ローカルティックがない場合にローカルティックが補間され消化される。ローカルシーンとローカルティック補間シーンに属するエンティティは、 すべてローカルである(強制的にローカルエンティティとして生成される)。 ローカルシーンは特にアセットロード中のような、他プレイヤーと同期すべきでないシーンのために存在する機能である。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
汎用メッセージイベント。
シーンの識別用の名前。
シーン内での操作イベント。
シーン内でのpoint downイベント。
このイベントは E#pointDown
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint downイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーン内でのpoint moveイベント。
このイベントは E#pointMove
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint moveイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーン内でのpoint upイベント。
このイベントは E#pointUp
とは独立にfireされる。
すなわち、シーン内に同じ位置でのpoint upイベントに反応する E
がある場合もない場合もこのイベントはfireされる。
シーンの状態。
シーンの状態変更イベント。
状態が初期化直後の Standby
状態以外に変化するときfireされる。
シーン内で利用可能なストレージの値を保持する StorageValueStore
。
ローディングシーンの読み込み待ち対象シーンがアセットを読み込む度にfireされるTrigger。
ローディングシーンの読み込みが完了した時にfireされるTrigger。
explicitEnd
に真を渡して生成した場合、ローディングシーンを終了するには
このTriggerのfire後に明示的に end()
を呼び出す必要がある。
ローディングシーンの読み込み待ち対象シーンが切り替わった場合にfireされるTrigger。 ゲーム開発者は、このTriggerにaddしてローディングシーンの内容を初期化することができる。
時間経過の契機(ティック)をどのように生成するか。
Manual
の場合、 Game#raiseTick()
を呼び出さない限りティックが生成されない(時間経過しない)。
ただしローカルティック(ローカルシーンの間などの「各プレイヤー間で独立な時間経過処理」)はこの値の影響を受けない。
またこのシーンへの遷移直後、一度だけこの値に関わらずティックが生成される。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。
子エンティティを追加する。
this.children
の末尾に e
を追加する(e
はそれまでに追加されたすべての子エンティティより手前に表示される)。
子エンティティとして追加するエンティティ
setIntervalで作成した定期処理を解除する。
解除対象
setTimeoutで作成した処理を削除する。
解除対象
一定間隔で定期的に処理を実行するTimerを作成して返す。
戻り値は作成されたTimerである。
通常は Scene#setInterval
を利用すればよく、ゲーム開発者がこのメソッドを呼び出す必要はない。
Timer
はフレーム経過処理(Scene#update
)で実現される疑似的なタイマーである。実時間の影響は受けない。
Timerの実行間隔(ミリ秒)
Timerを削除する。
削除するTimer
破棄済みであるかを返す。
ローディングシーンを終了する。
Scene#end()
と異なり、このメソッドの呼び出しはこのシーンを破棄しない。(ローディングシーンは再利用される。)
このメソッドが呼び出される時、 targetReady
がfireされた後でなければならない。
シーン内でその座標に反応する PointSource
を返す。
対象の座標
touchable指定を無視する場合真を指定する。指定されなかった場合偽
対象のカメラ。指定されなかった場合undefined
アセットロード待ち対象シーンの残りのロード待ちアセット数を取得する。
次のシーンへの遷移を要求する。
このメソッドは、 toPush
が真ならば Game#pushScene()
の、でなければ Game#replaceScene
のエイリアスである。
このメソッドは要求を行うだけである。呼び出し直後にはシーン遷移は行われていないことに注意。
このシーンが現在のシーンでない場合、 AssertionError
がthrowされる。
遷移後のシーン
現在のシーンを残したままにするなら真、削除して遷移するなら偽を指定する。省略された場合偽
このシーンが現在のシーンであるかどうかを返す。
このシーンが変更されたことをエンジンに通知する。
このメソッドは、このシーンに紐づいている E
の modified()
を呼び出すことで暗黙に呼び出される。
通常、ゲーム開発者がこのメソッドを呼び出す必要はない。
アセットの先読みを要求する。
Scene
に必要なアセットは、通常、Game#pushScene()
などによるシーン遷移にともなって暗黙に読み込みが開始される。
ゲーム開発者はこのメソッドを呼び出すことで、シーン遷移前にアセット読み込みを開始する(先読みする)ことができる。
先読み開始後、シーン遷移時までに読み込みが完了していない場合、通常の読み込み処理同様にローディングシーンが表示される。
このメソッドは StorageLoader
についての先読み処理を行わない点に注意。
ストレージの場合、書き込みが行われる可能性があるため、順序を無視して先読みすることはできない。
このSceneにエンティティを登録する。
このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に呼び出す必要はない。
登録するエンティティ
子エンティティを削除する。
this
の子から e
を削除する。 e
が this
の子でない場合、何もしない。
削除する子エンティティ
アセットロード待ち対象シーンを変更する。
このメソッドは、新たにシーンのロード待ちが必要になった場合にエンジンによって呼び出される。
(派生クラスはこの処理をオーバーライドしてもよいが、その場合その中で
このメソッド自身 (g.LoadingScene.prototype.reset
) を呼び出す (call()
する) 必要がある。)
アセットロード待ちが必要なシーン
シーンが読み込んだストレージの値をシリアライズする。
Scene#storageValues
の内容をシリアライズする。
一定間隔で定期的に実行される処理を作成する。
interval
ミリ秒おきに owner
を this
として handler
を呼び出す。
戻り値は Scene#clearInterval
の引数に指定して定期実行を解除するために使える値である。
このタイマーはフレーム経過処理(Scene#update
)で実現される疑似的なタイマーである。実時間の影響は受けない。
関数は指定時間の経過直後ではなく、経過後最初のフレームで呼び出される。
処理
実行間隔(ミリ秒)
handlerの所有者。省略された場合、null
一定間隔で定期的に実行される処理を作成する。
interval
ミリ秒おきに owner
を this
として handler
を呼び出す。
実行間隔(ミリ秒)
handlerの所有者。省略された場合、null
処理
一定間隔で定期的に実行される処理を作成する。
interval
ミリ秒おきに owner
を this
として handler
を呼び出す。
実行間隔(ミリ秒)
処理
一定時間後に一度だけ実行される処理を作成する。
milliseconds
ミリ秒後(以降)に、一度だけ owner
を this
として handler
を呼び出す。
戻り値は Scene#clearTimeout
の引数に指定して処理を削除するために使える値である。
このタイマーはフレーム経過処理(Scene#update
)で実現される疑似的なタイマーである。実時間の影響は受けない。
関数は指定時間の経過直後ではなく、経過後最初のフレームで呼び出される。
(理想的なケースでは、30FPSなら50msのコールバックは66.6ms時点で呼び出される)
時間経過に対して厳密な処理を行う必要があれば、自力で Scene#update
通知を処理すること。
処理
時間(ミリ秒)
handlerの所有者。省略された場合、null
一定時間後に一度だけ実行される処理を作成する。
milliseconds
ミリ秒後(以降)に、一度だけ owner
を this
として handler
を呼び出す。
時間(ミリ秒)
handlerの所有者。省略された場合、null
処理
一定時間後に一度だけ実行される処理を作成する。
milliseconds
ミリ秒後(以降)に、一度だけ handler
を呼び出す。
時間(ミリ秒)
処理
このSceneからエンティティの登録を削除する。
このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に呼び出す必要はない。
登録を削除するエンティティ
Generated using TypeDoc
Assetの読み込み中に表示されるシーン。
本シーンは通常のシーンと異なり、ゲーム内時間(
Game#age
)と独立に実行される。 アセットやストレージデータを読み込んでいる間、ゲーム内時間が進んでいない状態でも、LoadingScene
は画面に変化を与えることができる(update
がfireされる)。ゲーム開発者は、ローディング中の演出を実装した独自の
LoadingScene
をGame#loadingScene
に代入することでエンジンに利用させることができる。ゲーム内時間と独立に処理される
LoadingScene
での処理には再現性がない(他プレイヤーと状態が共有されない)。 そのためGame
に対して副作用のある操作を行ってはならない点に注意すること。