Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Scene

シーンを表すクラス。

Hierarchy

Implements

Index

Constructors

constructor

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

    Parameters

    Returns Scene

Properties

Private _assetHolders

_assetHolders: SceneAssetHolder[]

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

Private _loaded

_loaded: boolean

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

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

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

  • _loaded が真になる
  • 各種読み込みが完了する
  • _loadingStateSceneLoadState.Ready になる
  • _ready がfireされる
  • _loadingStateSceneLoadState.ReadyFired になる
  • loaded がfireされる
  • _loadingStateSceneLoadState.LoadedFired になる

Private _loadingState

_loadingState: SceneLoadState

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

Private _prefetchRequested

_prefetchRequested: boolean

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

Private _ready

_ready: Trigger<Scene>

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

Private _sceneAssetHolder

_sceneAssetHolder: SceneAssetHolder

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

Private _storageLoader

_storageLoader: StorageLoader

Private _timer

_timer: TimerManager

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

assetLoadCompleted

assetLoadCompleted: Trigger<Asset>

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

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

assetLoadFailed

assetLoadFailed: Trigger<AssetLoadFailureInfo>

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

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

assetLoaded

assetLoaded: Trigger<Asset>

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

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

assets

assets: object

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

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

Type declaration

children

children: E[]

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

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

game

game: Game

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

loaded

loaded: Trigger<Scene>

読み込み完了イベント。

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

local

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

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

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

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

message

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

name

name: string

シーンの識別用の名前。

operation

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

pointDownCapture

pointDownCapture: Trigger<PointDownEvent>

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

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

pointMoveCapture

pointMoveCapture: Trigger<PointMoveEvent>

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

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

pointUpCapture

pointUpCapture: Trigger<PointUpEvent>

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

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

state

state: SceneState

シーンの状態。

stateChanged

stateChanged: Trigger<SceneState>

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

storageValues

storageValues: StorageValueStore

シーン内で利用可能なストレージの値を保持する StorageValueStore

tickGenerationMode

tickGenerationMode: TickGenerationMode

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

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

update

update: Trigger<void>

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

Methods

Private _activate

  • _activate(): void
  • Returns void

Private _deactivate

  • _deactivate(): void
  • Returns void

Private _fireLoaded

  • _fireLoaded(): void
  • Returns void

Private _fireReady

  • _fireReady(): void
  • Returns void

Private _load

  • _load(): void
  • Returns void

Private _needsLoading

  • _needsLoading(): boolean
  • Returns boolean

Private _notifySceneReady

  • _notifySceneReady(): void
  • Returns void

Private _onSceneAssetsLoad

  • _onSceneAssetsLoad(): void
  • Returns void

Private _onStorageLoadError

Private _onStorageLoaded

  • _onStorageLoaded(): void

append

  • append(e: E): void
  • 子エンティティを追加する。

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

    Parameters

    • e: E

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

    Returns void

clearInterval

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

    Parameters

    Returns void

clearTimeout

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

    Parameters

    Returns void

createTimer

  • createTimer(interval: number): Timer
  • 一定間隔で定期的に処理を実行するTimerを作成して返す。

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

    Parameters

    • interval: number

      Timerの実行間隔(ミリ秒)

    Returns Timer

deleteTimer

  • deleteTimer(timer: Timer): void
  • Timerを削除する。

    Parameters

    • timer: Timer

      削除するTimer

    Returns void

destroy

  • destroy(): void
  • このシーンを破棄する。

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

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

    Returns void

destroyed

  • destroyed(): boolean
  • 破棄済みであるかを返す。

    Returns boolean

end

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

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

    Returns void

findPointSourceByPoint

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

    Parameters

    • point: CommonOffset

      対象の座標

    • Optional force: boolean

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

    • Optional camera: Camera

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

    Returns PointSource

gotoScene

  • gotoScene(next: Scene, toPush?: boolean): void
  • 次のシーンへの遷移を要求する。

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

    Parameters

    • next: Scene

      遷移後のシーン

    • Optional toPush: boolean

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

    Returns void

insertBefore

  • insertBefore(e: E, target: E): void
  • 子エンティティを挿入する。

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

    Parameters

    • e: E

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

    • target: E

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

    Returns void

isCurrentScene

  • isCurrentScene(): boolean
  • このシーンが現在のシーンであるかどうかを返す。

    Returns boolean

modified

  • modified(_isBubbling?: boolean): void
  • このシーンが変更されたことをエンジンに通知する。

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

    Parameters

    • Optional _isBubbling: boolean

    Returns void

prefetch

  • prefetch(): void
  • アセットの先読みを要求する。

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

    このメソッドは StorageLoader についての先読み処理を行わない点に注意。 ストレージの場合、書き込みが行われる可能性があるため、順序を無視して先読みすることはできない。

    Returns void

register

  • register(e: E): void
  • このSceneにエンティティを登録する。

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

    Parameters

    • e: E

      登録するエンティティ

    Returns void

remove

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

    Parameters

    • e: E

      削除する子エンティティ

    Returns void

requestAssets

  • Parameters

    Returns void

serializeStorageValues

  • シーンが読み込んだストレージの値をシリアライズする。

    Scene#storageValues の内容をシリアライズする。

    Returns StorageValueStoreSerialization

setInterval

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

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

    Parameters

    • handler: function

      処理

        • (): void
        • Returns void

    • interval: number

      実行間隔(ミリ秒)

    • Optional owner: any

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

    Returns TimerIdentifier

  • 一定間隔で定期的に実行される処理を作成する。 interval ミリ秒おきに ownerthis として handler を呼び出す。

    deprecated

    この引数順は現在非推奨である。関数を先に指定するものを利用すべきである。

    Parameters

    • interval: number

      実行間隔(ミリ秒)

    • owner: any

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

    • handler: function

      処理

        • (): void
        • Returns void

    Returns TimerIdentifier

  • 一定間隔で定期的に実行される処理を作成する。 interval ミリ秒おきに ownerthis として handler を呼び出す。

    deprecated

    この引数順は現在非推奨である。関数を先に指定するものを利用すべきである。

    Parameters

    • interval: number

      実行間隔(ミリ秒)

    • handler: function

      処理

        • (): void
        • Returns void

    Returns TimerIdentifier

setTimeout

  • setTimeout(handler: function, milliseconds: number, owner?: any): TimerIdentifier
  • setTimeout(milliseconds: number, owner: any, handler: function): TimerIdentifier
  • setTimeout(milliseconds: number, handler: function): TimerIdentifier
  • 一定時間後に一度だけ実行される処理を作成する。

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

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

    Parameters

    • handler: function

      処理

        • (): void
        • Returns void

    • milliseconds: number

      時間(ミリ秒)

    • Optional owner: any

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

    Returns TimerIdentifier

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

    milliseconds ミリ秒後(以降)に、一度だけ ownerthis として handler を呼び出す。

    deprecated

    この引数順は現在非推奨である。関数を先に指定するものを利用すべきである。

    Parameters

    • milliseconds: number

      時間(ミリ秒)

    • owner: any

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

    • handler: function

      処理

        • (): void
        • Returns void

    Returns TimerIdentifier

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

    milliseconds ミリ秒後(以降)に、一度だけ handler を呼び出す。

    deprecated

    この引数順は現在非推奨である。関数を先に指定するものを利用すべきである。

    Parameters

    • milliseconds: number

      時間(ミリ秒)

    • handler: function

      処理

        • (): void
        • Returns void

    Returns TimerIdentifier

unregister

  • unregister(e: E): void
  • このSceneからエンティティの登録を削除する。

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

    Parameters

    • e: E

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

    Returns void

Generated using TypeDoc