シーンを表すクラス。

Hierarchy (view full)

Constructors

  • 各種パラメータを指定して Scene のインスタンスを生成する。

    Parameters

    Returns Scene

Properties

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

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

assetLoadCompleted: Trigger<Asset>

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

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

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

assetLoadFailed: Trigger<AssetLoadFailureInfo>

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

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

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

assetLoaded: Trigger<Asset>

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

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

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

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

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

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

children: E[]

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

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

game: Game

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

loaded: Trigger<Scene>

読み込み完了イベント。

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

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

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

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

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

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

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

非推奨である。将来的に削除される。代わりに 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される。

onUpdate: Trigger<void>

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

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

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

pointDownCapture: Trigger<PointDownEvent>

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

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

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

pointMoveCapture: Trigger<PointMoveEvent>

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

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

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

pointUpCapture: Trigger<PointUpEvent>

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

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

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

seethrough: boolean

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

シーンの状態。

tickGenerationMode: TickGenerationModeString

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

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

update: Trigger<void>

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

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

vars: any

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

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

Methods

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

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

    Parameters

    • e: E

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

    Returns void

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

    Parameters

    Returns void

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

    Parameters

    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

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

    Returns boolean

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

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

    Returns void

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

    Parameters

    • point: CommonOffset

      対象の座標

    • Optionalforce: boolean

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

    • Optionalcamera: Camera

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

    Returns PointSource

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

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

    Parameters

    • next: Scene

      遷移後のシーン

    • OptionaltoPush: boolean

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

    Returns void

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

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

    Parameters

    • e: E

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

    • target: undefined | E

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

    Returns void

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

    Returns boolean

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

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

    Parameters

    • Optional_isBubbling: boolean

      この関数をこのシーンの子の modified() から呼び出す場合、真を渡さなくてはならない。省略された場合、偽。

    Returns void

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

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

    Returns void

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

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

    Parameters

    • e: E

      登録するエンティティ

    Returns void

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

    Parameters

    • e: E

      削除する子エンティティ

    Returns void

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

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

    Parameters

    • handler: (() => void)

      処理

        • (): void
        • Returns void

    • interval: number

      実行間隔(ミリ秒)

    • Optionalowner: 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

      時間(ミリ秒)

    • Optionalowner: any

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

    Returns TimerIdentifier

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

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

    Parameters

    • e: E

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

    Returns void