Class Scene<Command, ActionData>

コントローラにより制御される g.Scene 。

本シーンを利用した場合、すべての g.MessageEvent がフレームワーク側で握りつぶされる点に注意。 また、以下のパラメータの初期値が g.Scene と異なる点に注意。

  • local: "interpolate-local"
  • tickGenerationMode: "manual"

Type Parameters

  • Command
  • ActionData

Hierarchy

  • Scene
    • Scene

Implements

Constructors

Properties

_assetHolders: AssetHolder<SceneRequestAssetHandler>[]

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

本 Scene に紐づく Controller のインスタンス。

通常、ゲーム開発者は本値を参照してはならない。 this.send() のみで Controller と通信を行うべきである。

_generatesTickManually: boolean = false
_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 を利用すること。

_sceneAssetHolder: AssetHolder<SceneRequestAssetHandler>

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

_sentInitialEvents: boolean = false
_timer: TimerManager

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

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

Type declaration

    • (done): void
    • Parameters

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

      Returns void

asset: AssetAccessor

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

歴史的経緯による 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

  • [key: string]: Asset
children: E[]

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

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

commandReceived: Trigger<Command> = ...

Deprecated

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

game: Game

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

handleEventFilter_bound: EventFilter
loaded: Trigger<Scene>

読み込み完了イベント。

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

Deprecated

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

local: LocalTickModeString

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

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

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

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

message: Trigger<MessageEvent>

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

Deprecated

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

name: undefined | string

シーンの識別用の名前。

onAssetLoad: Trigger<Asset>

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

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

onAssetLoadComplete: Trigger<Asset>

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

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

onAssetLoadFailure: Trigger<AssetLoadFailureInfo>

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

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

onCommandReceive: Trigger<Command> = ...

ブロードキャストされた Command を受け取った際に発火する trigger 。

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される。

onUpdate: Trigger<void>

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

operation: Trigger<OperationEvent>

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

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 は実行されない。そのため下のシーンの描画内容も更新されない。この挙動は実験的なものであり、将来的に変更されうる。

state: SceneStateString

シーンの状態。

tickGenerationMode: TickGenerationModeString

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

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

update: Trigger<void>

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

Deprecated

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

vars: any

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

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

Methods

  • Private

    Returns void

  • Private

    Returns void

  • Private

    Returns void

  • Private

    Returns void

  • Private

    Parameters

    • asset: Asset

    Returns void

  • Private

    Parameters

    • failureInfo: AssetLoadFailureInfo

    Returns void

  • Private

    Parameters

    • holder: AssetHolder<SceneRequestAssetHandler>
    • succeed: boolean

    Returns void

  • Private

    Returns void

  • Private

    Returns boolean

  • Private

    Returns void

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

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

    Parameters

    • e: E

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

    Returns void

  • setIntervalで作成した定期処理を解除する。

    Parameters

    • identifier: TimerIdentifier

      解除対象

    Returns void

  • setTimeoutで作成した処理を削除する。

    Parameters

    • identifier: TimerIdentifier

      解除対象

    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

  • 破棄済みであるかを返す。

    Returns boolean

  • このシーンの削除と、一つ前のシーンへの遷移を要求する。

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

    Returns void

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

    Parameters

    • point: CommonOffset

      対象の座標

    • Optional force: boolean

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

    • Optional camera: Camera

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

    Returns PointSource

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

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

    Parameters

    • next: Scene

      遷移後のシーン

    • Optional toPush: boolean

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

    Returns void

  • Parameters

    • pevs: Event[]
    • __namedParameters: EventFilterController

    Returns Event[]

  • Parameters

    • Optional message: MessageEvent

    Returns void

  • Parameters

    • Optional state: SceneStateString

    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

  • Parameters

    • assetIds: (string | VectorImageAssetGenerationConfiguration | DynamicAssetConfiguration)[]
    • handler: SceneRequestAssetHandler

    Returns void

  • Controller に対して action データを送信する。

    Parameters

    • data: ActionData

      送信する action データ

    • Optional priority: number

    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