Class LoadingScene

Assetの読み込み中に表示されるシーン。

本シーンは通常のシーンと異なり、ゲーム内時間(Game#age)と独立に実行される。 アセットやストレージデータを読み込んでいる間、ゲーム内時間が進んでいない状態でも、 LoadingScene は画面に変化を与えることができる(update がfireされる)。

ゲーム開発者は、ローディング中の演出を実装した独自の LoadingSceneGame#loadingScene に代入することでエンジンに利用させることができる。

ゲーム内時間と独立に処理される LoadingScene での処理には再現性がない(他プレイヤーと状態が共有されない)。 そのため Game に対して副作用のある操作を行ってはならない点に注意すること。

Hierarchy

Constructors

Properties

Scene#requestAssets() で動的に要求されたアセットの保持者。

_explicitEnd: boolean
_loaded: boolean

読み込みが開始されたか否か。 すなわち、 _load() が呼び出された後か否か。

歴史的経緯により、このフラグの意味は「読み込みが終わった後」でも「onLoadがfireされた後」でもない点に注意。 なお前者「(アセットとストレージの)読み込みが終わった後」は _loadingState === "ready" に与えられる。

シーンの読み込みは概ね次の順で処理が進行する。

  • _loaded が真になる
  • 各種読み込みが完了する
  • _loadingState"ready" になる
  • _onReady がfireされる
  • _loadingState"ready-fired" になる
  • onLoad がfireされる
  • _loadingState"loaded-fired" になる
_loadingState: SceneLoadStateString

アセットとストレージの読み込みが終わった後か否か。 「 onLoad がfireされた後」ではない点に注意。

_onReady: Trigger<Scene>

アセットとストレージの読み込みが終わったことを通知するTrigger。

_prefetchRequested: boolean

先読みが要求されたか否か。 すなわち、 prefetch() が呼び出された後か否か。

_ready: Trigger<Scene>

アセットとストレージの読み込みが終わったことを通知するTrigger。

Deprecated

非推奨である。将来的に削除される。代わりに _onReady を利用すること。

シーンのアセットの保持者。

_targetScene: Scene
_timer: TimerManager

タイマー。通常は本変数直接ではなく、createTimer/deleteTimer/setInterval/clearInterval等の機構を利用する。

_waitingPrepare: undefined | ((done) => void)

Type declaration

    • (done): void
    • Parameters

      • done: (() => void)
          • (): void
          • Returns void

      Returns void

このシーンで利用できるアセットへのアクセッサ。

歴史的経緯による assets との違いに注意。 assets は「このシーンの生成時に読み込んだアセット」に「アセットIDをキーにして」アクセスするテーブルである。 他方この assetgetImageById(), getAllTexts() などのメソッドを持つオブジェクトである。 アセットIDだけでなくパスでのアクセスや、複数アセットの一括取得ができる点で異なる。

assetLoadCompleted: Trigger<Asset>

アセット読み込み完了イベント。

このシーンのアセットが一つ読み込みに失敗または成功する度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。

Deprecated

非推奨である。将来的に削除される。代わりに onAssetLoadComplete を利用すること。

assetLoadFailed: Trigger<AssetLoadFailureInfo>

アセット読み込み失敗イベント。

このシーンのアセットが一つ読み込みに失敗する度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。 このイベントをhandleする場合、ハンドラは AssetLoadFailureInfo#cancelRetry を真にすることでゲーム続行を断念することができる。

Deprecated

非推奨である。将来的に削除される。代わりに onAssetLoadFailure を利用すること。

assetLoaded: Trigger<Asset>

アセット読み込み成功イベント。

このシーンのアセットが一つ読み込まれる度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。

Deprecated

非推奨である。将来的に削除される。代わりに onAssetLoad を利用すること。

assets: {
    [key: string]: Asset;
}

このシーンで利用できるアセット。

アセットID をkeyに、対応するアセットのインスタンスを得ることができる。 keyはこのシーンの生成時、コンストラクタの第二引数 assetIds に渡された配列に含まれる文字列でなければならない。

Type declaration

children: E[]

このシーンの子エンティティ。

エンティティは Scene#append() によって追加され、 Scene#remove() によって削除される。

game: Game

このシーンの属するゲーム。

loaded: Trigger<Scene>

読み込み完了イベント。

このシーンの生成時に(コンストラクタで)指定されたすべてのアセットの読み込みが終了した後、一度だけfireされる。 このシーンのアセットを利用するすべての処理は、このイベントのfire後に実行されなければならない。

Deprecated

非推奨である。将来的に削除される。代わりに onLoad を利用すること。

このシーンのローカルティック消化ポリシー。

  • "non-local" が与えられた場合、このシーンは非ローカルシーンと呼ばれる。 非ローカルシーンでは、他プレイヤーと共通の時間進行処理((非ローカル)ティックの消化)が行われる(onUpdateがfireされる)。
  • "full-local" が与えられた場合、このシーンはローカルシーンと呼ばれる。 ローカルシーンでは、他プレイヤーと独立な時間進行処理(ローカルティックの消化)が行われる。
  • "interpolate-local" が与えられた場合、このシーンはローカルティック補間シーンと呼ばれる。 ローカルティック補間シーンは、非ローカルシーン同様にティックを消化するが、 消化すべき非ローカルティックがない場合にローカルティックが補間され消化される。

ローカルシーンとローカルティック補間シーンに属するエンティティは、 すべてローカルである(強制的にローカルエンティティとして生成される)。 ローカルシーンは特にアセットロード中のような、他プレイヤーと同期すべきでないシーンのために存在する機能である。

この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。

汎用メッセージイベント。

Deprecated

非推奨である。将来的に削除される。代わりに onMessage を利用すること。

name: undefined | string

シーンの識別用の名前。

onAssetLoad: Trigger<Asset>

アセット読み込み成功イベント。

このシーンのアセットが一つ読み込まれる度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。

onAssetLoadComplete: Trigger<Asset>

アセット読み込み完了イベント。

このシーンのアセットが一つ読み込みに失敗または成功する度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。

onAssetLoadFailure: Trigger<AssetLoadFailureInfo>

アセット読み込み失敗イベント。

このシーンのアセットが一つ読み込みに失敗する度にfireされる。 アセット読み込み中の動作をカスタマイズしたい場合に用いる。 このイベントをhandleする場合、ハンドラは AssetLoadFailureInfo#cancelRetry を真にすることでゲーム続行を断念することができる。

onLoad: Trigger<Scene>

読み込み完了イベント。

このシーンの生成時に(コンストラクタで)指定されたすべてのアセットの読み込みが終了した後、一度だけfireされる。 このシーンのアセットを利用するすべての処理は、このイベントのfire後に実行されなければならない。

onMessage: Trigger<MessageEvent>

汎用メッセージイベント。

onOperation: Trigger<OperationEvent>

シーン内での操作イベント。

onPointDownCapture: Trigger<PointDownEvent>

シーン内でのpoint downイベント。

このイベントは E#onPointDown とは独立にfireされる。 すなわち、シーン内に同じ位置でのpoint downイベントに反応する E がある場合もない場合もこのイベントはfireされる。

onPointMoveCapture: Trigger<PointMoveEvent>

シーン内でのpoint moveイベント。

このイベントは E#onPointMove とは独立にfireされる。 すなわち、シーン内に同じ位置でのpoint moveイベントに反応する E がある場合もない場合もこのイベントはfireされる。

onPointUpCapture: Trigger<PointUpEvent>

シーン内でのpoint upイベント。

このイベントは E#onPointUp とは独立にfireされる。 すなわち、シーン内に同じ位置でのpoint upイベントに反応する E がある場合もない場合もこのイベントはfireされる。

onStateChange: Trigger<SceneStateString>

シーンの状態変更イベント。 状態が初期化直後の "standby" 状態以外に変化するときfireされる。

onTargetAssetLoad: Trigger<Asset>

ローディングシーンの読み込み待ち対象シーンがアセットを読み込む度にfireされるTrigger。

onTargetReady: Trigger<Scene>

ローディングシーンの読み込みが完了した時にfireされるTrigger。 explicitEnd に真を渡して生成した場合、ローディングシーンを終了するには このTriggerのfire後に明示的に end() を呼び出す必要がある。

onTargetReset: Trigger<Scene>

ローディングシーンの読み込み待ち対象シーンが切り替わった場合にfireされるTrigger。 ゲーム開発者は、このTriggerにaddしてローディングシーンの内容を初期化することができる。

onUpdate: Trigger<void>

時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。

シーン内での操作イベント。

Deprecated

非推奨である。将来的に削除される。代わりに onOperation を利用すること。

pointDownCapture: Trigger<PointDownEvent>

シーン内でのpoint downイベント。

このイベントは E#onPointDown とは独立にfireされる。 すなわち、シーン内に同じ位置でのpoint downイベントに反応する E がある場合もない場合もこのイベントはfireされる。

Deprecated

非推奨である。将来的に削除される。代わりに onPointDownCapture を利用すること。

pointMoveCapture: Trigger<PointMoveEvent>

シーン内でのpoint moveイベント。

このイベントは E#onPointMove とは独立にfireされる。 すなわち、シーン内に同じ位置でのpoint moveイベントに反応する E がある場合もない場合もこのイベントはfireされる。

Deprecated

非推奨である。将来的に削除される。代わりに onPointMoveCapture を利用すること。

pointUpCapture: Trigger<PointUpEvent>

シーン内でのpoint upイベント。

このイベントは E#onPointUp とは独立にfireされる。 すなわち、シーン内に同じ位置でのpoint upイベントに反応する E がある場合もない場合もこのイベントはfireされる。

Deprecated

非推奨である。将来的に削除される。代わりに onPointUpCapture を利用すること。

seethrough: boolean

シーンスタック上のこのシーンが描画される時、それに先んじてこのシーンの直下のシーンを描画するかどうか。 このシーン自体は seethrough の値に関わらず常に描画されることに注意。 ただし seethrough が true の時でもこのシーン以外の onUpdate は実行されない。そのため下のシーンの描画内容も更新されない。この挙動は実験的なものであり、将来的に変更されうる。

シーンの状態。

targetAssetLoaded: Trigger<Asset>

ローディングシーンの読み込み待ち対象シーンがアセットを読み込む度にfireされるTrigger。

Deprecated

非推奨である。将来的に削除される。代わりに onTargetAssetLoad を利用すること。

targetReady: Trigger<Scene>

ローディングシーンの読み込みが完了した時にfireされるTrigger。 explicitEnd に真を渡して生成した場合、ローディングシーンを終了するには このTriggerのfire後に明示的に end() を呼び出す必要がある。

Deprecated

非推奨である。将来的に削除される。代わりに onTargetReady を利用すること。

targetReset: Trigger<Scene>

ローディングシーンの読み込み待ち対象シーンが切り替わった場合にfireされるTrigger。 ゲーム開発者は、このTriggerにaddしてローディングシーンの内容を初期化することができる。

Deprecated

非推奨である。将来的に削除される。代わりに onTargetReset を利用すること。

tickGenerationMode: TickGenerationModeString

時間経過の契機(ティック)をどのように生成するか。 "manual" の場合、 Game#raiseTick() を呼び出さない限りティックが生成されない(時間経過しない)。 ただしローカルティック(ローカルシーンの間などの「各プレイヤー間で独立な時間経過処理」)はこの値の影響を受けない。 またこのシーンへの遷移直後、一度だけこの値に関わらずティックが生成される。

この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。

update: Trigger<void>

時間経過イベント。本イベントの一度のfireにつき、常に1フレーム分の時間経過が起こる。

Deprecated

非推奨である。将来的に削除される。代わりに onUpdate を利用すること。

vars: any

ゲーム開発者向けのコンテナ。

この値はゲームエンジンのロジックからは使用されず、ゲーム開発者は任意の目的に使用してよい。

Methods

  • 子エンティティを追加する。

    this.children の末尾に e を追加する(e はそれまでに追加されたすべての子エンティティより手前に表示される)。

    Parameters

    • e: E

      子エンティティとして追加するエンティティ

    Returns void

  • 一定間隔で定期的に処理を実行するTimerを作成して返す。

    戻り値は作成されたTimerである。 通常は Scene#setInterval を利用すればよく、ゲーム開発者がこのメソッドを呼び出す必要はない。 Timer はフレーム経過処理(Scene#onUpdate)で実現される疑似的なタイマーである。実時間の影響は受けない。

    Parameters

    • interval: number

      Timerの実行間隔(ミリ秒)

    Returns Timer

  • Timerを削除する。 Scene#createTimer()と同様に、通常はゲーム開発者がこのメソッドを呼び出す必要はない。 このメソッドを利用する場合、メソッド実行前に対象のTimerのonElapseに登録したハンドラを全て削除しておく必要がある。

    Parameters

    • timer: Timer

      削除するTimer

    Returns void

  • このシーンを破棄する。

    破棄処理の開始時に、このシーンの onStateChange が引数 BeforeDestroyed でfireされる。 破棄処理の終了時に、このシーンの onStateChange が引数 Destroyed でfireされる。 このシーンに紐づいている全ての E と全てのTimerは破棄される。 Scene#setInterval(), Scene#setTimeout() に渡された関数は呼び出されなくなる。

    このメソッドは Scene#endGame#popScene などによって要求されたシーンの遷移時に暗黙に呼び出される。 通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Returns void

  • ローディングシーンを終了する。

    Scene#end() と異なり、このメソッドの呼び出しはこのシーンを破棄しない。(ローディングシーンは再利用される。) このメソッドが呼び出される時、 targetReady がfireされた後でなければならない。

    Returns void

  • シーン内でその座標に反応する PointSource を返す。

    Parameters

    • point: CommonOffset

      対象の座標

    • Optional force: boolean

      touchable指定を無視する場合真を指定する。指定されなかった場合偽

    • Optional camera: Camera

      対象のカメラ。指定されなかった場合undefined

    Returns PointSource

  • アセットロード待ち対象シーンの残りのロード待ちアセット数を取得する。

    Returns number

  • 次のシーンへの遷移を要求する。

    このメソッドは、 toPush が真ならば Game#pushScene() の、でなければ Game#replaceScene のエイリアスである。 このメソッドは要求を行うだけである。呼び出し直後にはシーン遷移は行われていないことに注意。 このシーンが現在のシーンでない場合、 AssertionError がthrowされる。

    Parameters

    • next: Scene

      遷移後のシーン

    • Optional toPush: boolean

      現在のシーンを残したままにするなら真、削除して遷移するなら偽を指定する。省略された場合偽

    Returns void

  • 子エンティティを挿入する。

    this.childrentargetの位置に e を挿入する。 targetthis の子でない場合、append(e)と同じ動作となる。

    Parameters

    • e: E

      子エンティティとして追加するエンティティ

    • target: undefined | E

      挿入位置にある子エンティティ

    Returns void

  • このシーンが現在のシーンであるかどうかを返す。

    Returns boolean

  • このシーンが変更されたことをエンジンに通知する。

    このメソッドは、このシーンに紐づいている Emodified() を呼び出すことで暗黙に呼び出される。 通常、ゲーム開発者がこのメソッドを呼び出す必要はない。

    Parameters

    • Optional _isBubbling: boolean

    Returns void

  • アセットの先読みを要求する。

    Scene に必要なアセットは、通常、Game#pushScene() などによるシーン遷移にともなって暗黙に読み込みが開始される。 ゲーム開発者はこのメソッドを呼び出すことで、シーン遷移前にアセット読み込みを開始する(先読みする)ことができる。 先読み開始後、シーン遷移時までに読み込みが完了していない場合、通常の読み込み処理同様にローディングシーンが表示される。

    Returns void

  • このSceneにエンティティを登録する。

    このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に呼び出す必要はない。

    Parameters

    • e: E

      登録するエンティティ

    Returns void

  • 子エンティティを削除する。 this の子から e を削除する。 ethis の子でない場合、何もしない。

    Parameters

    • e: E

      削除する子エンティティ

    Returns void

  • アセットロード待ち対象シーンを変更する。

    このメソッドは、新たにシーンのロード待ちが必要になった場合にエンジンによって呼び出される。 (派生クラスはこの処理をオーバーライドしてもよいが、その場合その中で このメソッド自身 (g.LoadingScene.prototype.reset) を呼び出す (call() する) 必要がある。)

    Parameters

    • targetScene: Scene

      アセットロード待ちが必要なシーン

    Returns void

  • 一定間隔で定期的に実行される処理を作成する。

    interval ミリ秒おきに ownerthis として handler を呼び出す。 戻り値は Scene#clearInterval の引数に指定して定期実行を解除するために使える値である。 このタイマーはフレーム経過処理(Scene#onUpdate)で実現される疑似的なタイマーである。実時間の影響は受けない。 関数は指定時間の経過直後ではなく、経過後最初のフレームで呼び出される。

    Parameters

    • handler: (() => void)

      処理

        • (): void
        • Returns void

    • interval: number

      実行間隔(ミリ秒)

    • Optional owner: any

      handlerの所有者。省略された場合、null

    Returns TimerIdentifier

  • 一定時間後に一度だけ実行される処理を作成する。

    milliseconds ミリ秒後(以降)に、一度だけ ownerthis として handler を呼び出す。 戻り値は Scene#clearTimeout の引数に指定して処理を削除するために使える値である。

    このタイマーはフレーム経過処理(Scene#onUpdate)で実現される疑似的なタイマーである。実時間の影響は受けない。 関数は指定時間の経過直後ではなく、経過後最初のフレームで呼び出される。 (理想的なケースでは、30FPSなら50msのコールバックは66.6ms時点で呼び出される) 時間経過に対して厳密な処理を行う必要があれば、自力で Scene#onUpdate 通知を処理すること。

    Parameters

    • handler: (() => void)

      処理

        • (): void
        • Returns void

    • milliseconds: number

      時間(ミリ秒)

    • Optional owner: any

      handlerの所有者。省略された場合、null

    Returns TimerIdentifier

  • このSceneからエンティティの登録を削除する。

    このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に呼び出す必要はない。

    Parameters

    • e: E

      登録を削除するエンティティ

    Returns void

Generated using TypeDoc