Game
のインスタンスを生成する。
この Game
に指定するパラメータ
このコンテンツの累計経過時間。
通常は this.scene().local
が偽である状態で tick()
の呼ばれた回数だが、シーン切り替え時等 tick()
が呼ばれた時以外で加算される事もある。
アセットへのアクセッサ。
g.Scene#asset
はこの値のエイリアスである。
歴史的経緯による assets
との違いに注意。
assets
はグローバルアセットをアセットIDをキーにしてアクセスするテーブルである。
他方この asset
は getImageById()
, getAllTexts()
などのメソッドを持つオブジェクトである。
アセットIDだけでなくパスでのアクセスや、複数アセットの一括取得ができる点で異なる。
Assetの読み込みに使うベースパス。 ゲーム開発者が参照する必要はない。 値はプラットフォーム由来のパス(絶対パス)とゲームごとの基準パス(相対パス)をつないだものになる。
グローバルアセットのマップ。this._initialScene.assets のエイリアス。
本ゲームで利用可能なオーディオシステム群。musicとsoundが登録されている。
このコンテンツに関連付けられるエンティティ。(ローカルなエンティティを除く)
デフォルトで利用されるオーディオシステムのID。デフォルト値はsound。
外部インターフェース。
実行環境によって、環境依存の値が設定される。 ゲーム開発者はこの値を用いる場合、各実行環境のドキュメントを参照すべきである。
フレーム辺りの時間経過間隔。初期値は30である。
ハンドラセット。
ゲーム画面の高さ。
直近の update
の通知が、ローカルティックによるものか否か。
ただし一度も update
通知が起きていない間は真である。
ローカルシーンおよびローカルティック補間シーン以外のシーンにおいては、常に偽。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
グローバルアセットが読み込み済みの場合真。でなければ偽。
ゲームが早送りに状態にあるかどうか。
スキップ状態であれば真、非スキップ状態であれば偽である。 ゲーム開発者は、この値に起因する処理で、ゲームのグローバルな実行状態を変化させてはならない。 この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
プレイヤーがゲームに参加したことを表すイベント。
ゲームにjoinしているプレイヤーIDの一覧。
歴史的経緯により undefined
は含まれないことに注意。
undefined
は特殊はプレイヤーIDであり通常 join しないため、ゲーム開発者がこの仕様を考慮する必要はない。
直近の Scene#local
の値。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
直近の update
の通知時(の直前)に(タイムスタンプ待ちを省略する動作などの影響でエンジンが)省いたローカルティックの数。
一度も update
通知が起きていない間は 0
である。
ローカルティック補間シーンでない場合、常に 0
であることに注意。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
直近の Scene#tickGenerationMode
の値。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
プレイヤーがゲームから離脱したことを表すイベント。
アセットのロード中に表示するシーン。 ゲーム開発者はこの値を書き換えることでローディングシーンを変更してよい。
このGameで利用可能なローカル処理用の乱数生成器。
プレイヤーがゲームに参加したことを表すイベント。
プレイヤーがゲームから離脱したことを表すイベント。
新しいプレイヤー情報が発生したことを示すイベント。
画面サイズの変更時にfireされるTrigger。
this.scenes
の変化時にfireされるTrigger。
このTriggerはアセットロード(Scene#onLoadのfire)を待たず、変化した時点で即fireされることに注意。
新しい乱数シードが発生したことを示すイベント。
スキップ状態の変化時にfireされるTrigger。
スキップ状態に遷移する時に真、非スキップ状態に遷移する時に偽が与えられる。 この通知は、ゲーム開発者が「スキップ中の演出省略」などの最適化を行うために提供されている。
この通知のfire頻度は、ゲームの実行状態などに依存して異なりうることに注意。 例えば多人数プレイされている時、それぞれの環境でfireされ方が異なりうる。 ゲーム開発者は、この通知に起因する処理で、ゲームのグローバルな実行状態を変化させてはならない。
スナップショット要求通知。
実行環境がコンテンツにスナップショット保存を促す場合に通知される。 その頻度やタイミングは実行環境依存である。
ただし現実には、任意のタイミングでスナップショットを作成することは難しい。 コンテンツはこの通知に関わらず、作成しやすいタイミングでスナップショットを保存するのが望ましい。
ティック消化後にfireされるTrigger。
操作プラグインの管理者。
ロードしている操作プラグインを保持するオブジェクト。
このゲームの各プレイを識別する値。
このゲームに複数のプレイヤーがいる場合、すなわち Game#join
が複数回fireされている場合、各プレイヤー間でこの値は同一である。
この値は、特に game.external
で提供される外部APIに与えるなど、Akashic Engine外部とのやりとりで使われることを想定する値である。
実行中、この値が変化しないことは保証されない。ゲーム開発者はこの値を保持すべきではない。 また、この値に応じてゲームの処理や内部状態を変化させるべきではない。 この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
新しいプレイヤー情報が発生したことを示すイベント。
このGameで利用可能な乱数生成器。
このコンテンツを描画するためのオブジェクト群。
画面サイズの変更時にfireされるTrigger。
各種リソースのファクトリ。
シーンのスタック。
新しい乱数シードが発生したことを示すイベント。
このゲームを実行している「自分」のID。
この値は、 Game#join
で渡される Player
のフィールド id
と等価性を比較できる値である。
すなわちゲーム開発者は、join してきたPlayer
の id
とこの値を比較することで、
このゲームのインスタンスを実行している「自分」が参加者であるか否かを決定することができる。
この値は必ずしも常に存在するとは限らないことに注意。存在しない場合、 undefined
である。
この値は参照のためにのみ公開されている。ゲーム開発者はこの値を変更すべきではない。
スキップ状態の変化時にfireされるTrigger。
スキップ状態に遷移する時に真、非スキップ状態に遷移する時に偽が与えられる。 この通知は、ゲーム開発者が「スキップ中の演出省略」などの最適化を行うために提供されている。
この通知のfire頻度は、ゲームの実行状態などに依存して異なりうることに注意。 例えば多人数プレイされている時、それぞれの環境でfireされ方が異なりうる。 ゲーム開発者は、この通知に起因する処理で、ゲームのグローバルな実行状態を変化させてはならない。
スナップショット要求通知。
ゲーム全体で共有するサーフェスアトラス。
ゲーム開発者向けのコンテナ。
この値はゲームエンジンのロジックからは使用されず、ゲーム開発者は任意の目的に使用してよい。
ゲーム画面の幅。
スキッピングシーン。 ゲームが早送りとなった際に描画される特殊なシーンであり、以下の制限を持つ。
初期値は undefined
である。
イベントフィルタを追加する。
一つ以上のイベントフィルタが存在する場合、このゲームで発生したイベントは、通常の処理の代わりにイベントフィルタに渡される。 エンジンは、イベントフィルタが戻り値として返したイベントを、まるでそのイベントが発生したかのように処理する。
イベントフィルタはローカルイベントに対しても適用される。 イベントフィルタはローカルティック補間シーンやローカルシーンの間であっても適用される。 複数のイベントフィルタが存在する場合、そのすべてが適用される。適用順は登録の順である。
追加するイベントフィルタ
Optional
handleEmpty: booleanイベントが存在しない場合でも定期的にフィルタを呼び出すか否か。省略された場合、偽。
その座標に反応する PointSource
を返す。
戻り値は、対象が見つかった場合、 target
に見つかった E
を持つ PointSource
である。
対象が見つからなかった場合、 undefined
である。
戻り値が undefined
でない場合、その target
プロパティは次を満たす:
E#touchable
が真であるcamera
から可視である中で最も手前にある対象の座標
Optional
camera: Camera対象のカメラ。指定しなければ Game.focusingCamera
が使われる
シーンスタックから現在のシーンを取り除くことを要求する
このメソッドは要求を行うだけである。呼び出し直後にはシーン遷移は行われていないことに注意。
実際のシーン遷移は次のフレームまでに(次のupdateのfireまでに)行われる。
引数 preserve
が偽の場合、このメソッドの呼び出しにより取り除かれたシーンは全て破棄される。
またその時 stateChanged
が引数 "destroyed"
でfireされる。
その後一つ前のシーンの stateChanged
が引数 "active"
でfireされる。
また、step数がスタックされているシーンの数以上の場合、例外が投げられる。
Optional
preserve: boolean真の場合、シーンを破棄しない(ゲーム開発者が明示的に破棄せねばならない)。省略された場合、偽
取り除くシーンの数。省略された場合、1
シーンスタックへのシーンの追加と、そのシーンへの遷移を要求する。
このメソッドは要求を行うだけである。呼び出し直後にはシーン遷移は行われていないことに注意。
実際のシーン遷移は現在のフレームの終わり(Scene#update の fire 後) まで遅延される。
このメソッドの呼び出しにより、現在のシーンの stateChanged
が引数 "deactive"
でfireされる。
その後 scene.stateChanged
が引数 "active"
でfireされる。
遷移後のシーン
Optional
option: PushSceneOption遷移時のオプション
イベントを発生させる。
ゲーム開発者は、このメソッドを呼び出すことで、エンジンに指定のイベントを発生させることができる。
発生させるイベント
ティックを発生させる。
ゲーム開発者は、このメソッドを呼び出すことで、エンジンに時間経過を要求することができる。
現在のシーンのティック生成モード Scene#tickGenerationMode
が "manual"
でない場合、エラー。
Optional
events: Event[]そのティックで追加で発生させるイベント
このGameにエンティティを登録する。
このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に利用する必要はない。
e.id
が undefined
である場合、このメソッドの呼び出し後、 e.id
には this
に一意の値が設定される。
e.local
が偽である場合、このメソッドの呼び出し後、 this.db[e.id] === e
が成立する。
e.local
が真である場合、 e.id
の値は不定である。
登録するエンティティ
イベントフィルタを削除する。
削除するイベントフィルタ
現在のシーンの置き換えを要求する。
現在のシーンをシーンスタックから取り除き、指定のシーンを追加することを要求する。
このメソッドは要求を行うだけである。呼び出し直後にはシーン遷移は行われていないことに注意。
実際のシーン遷移は現在のフレームの終わり(Scene#update の fire 後) まで遅延される。
引数 preserveCurrent
が偽の場合、このメソッドの呼び出しにより現在のシーンは破棄される。
またその時 stateChanged
が引数 "destroyed"
でfireされる。
その後 scene.stateChanged
が引数 "active"
でfireされる。
遷移後のシーン
Optional
preserveCurrent: boolean真の場合、現在のシーンを破棄しない(ゲーム開発者が明示的に破棄せねばならない)。省略された場合、偽
現在のシーンの置き換えを要求する。
遷移後のシーン
Optional
option: ReplaceSceneOption遷移時のオプション
スナップショットを保存する。
(saveSnapshot()
と同じ機能だが、インターフェースが異なる。こちらを利用すること。)
引数として与えた関数 func()
がフレームの終了時に呼び出される。
エンジンは、func()
の返した値に基づいて、実行環境にスナップショットの保存を要求する。
保存されたスナップショットは、必要に応じてゲームの起動時に与えられる。
詳細は g.GameMainParameterObject
を参照のこと。
このメソッドを 1 フレーム中に複数回呼び出した場合、引数に与えた関数 func()
の呼び出し順は保証されない。
(スナップショットはフレームごとに定まるので、1フレーム中に複数回呼び出す必要はない。)
フレーム終了時に呼び出す関数。 SnapshotSaveRequest
を返した場合、スナップショット保存が要求される。
Optional
owner: anyfunc の呼び出し時に this
として使われる値。指定しなかった場合、 undefined
。
対象のポイントイベントのターゲットエンティティ(PointTarget#target
)を解決し、それを補完した playlog.Event を返す。
Down -> Move -> Up とは異なる順番で呼び出された場合 null
を返す。
このメソッドは暗黙に呼び出される。ゲーム開発者がこのメソッドを利用する必要はない。
プラットフォームのポイントイベント
スナップショットを保存する。
このメソッドは Game#shouldSaveSnapshot()
が真を返す Game
に対してのみ呼び出されるべきである。
そうでない場合、このメソッドの動作は不定である。
このメソッドで保存されたスナップショットは、
main スクリプト (ゲーム開始時に最初に実行されるスクリプト) の関数に、
引数 (の snapshot
プロパティ) として与えられる場合がある。
(e.g. マルチプレイのゲームプレイ画面を途中から開いた場合)
スナップショットが与えられた場合、ゲームはそのスナップショットから保存時の実行状態を復元しなければならない。
保存するスナップショット。JSONとして妥当な値でなければならない。
Optional
timestamp: number保存時の時刻。 g.TimestampEvent
を利用するゲームの場合、それらと同じ基準の時間情報を与えなければならない。
このインスタンスにおいてスナップショットの保存を行うべきかを返す。
スナップショット保存に対応するゲームであっても、 必ずしもすべてのインスタンスにおいてスナップショット保存を行うべきとは限らない。 たとえば多人数プレイ時には、複数のクライアントで同一のゲームが実行される。 スナップショットを保存するのはそのうちの一つのインスタンスのみでよい。 本メソッドはそのような場合に、自身がスナップショットを保存すべきかどうかを判定するために用いることができる。
スナップショット保存に対応するゲームは、このメソッドが真を返す時にのみ Game#saveSnapshot()
を呼び出すべきである。
戻り値は、スナップショットの保存を行うべきであれば真、でなければ偽である。
この Game
の時間経過とそれに伴う処理を行う。
現在の Scene
に対して Scene#update
をfireし、 events
に設定されたイベントを処理する。
このメソッドは暗黙に呼び出される。ゲーム開発者がこのメソッドを利用する必要はない。
戻り値は呼び出し前後でシーンが変わった(別のシーンに遷移した)場合、真。でなければ偽。
偽を与えた場合、this.age
を進めない。
Optional
omittedTickCount: numberタイムスタンプ待ちを省略する動作などにより、(前回の呼び出し以降に)省かれたローカルティックの数。省略された場合、 0
。
Optional
events: Event[]ティックに含ませるイベント。省略された場合、 undefined
。
このGameからエンティティの登録を削除する。
このメソッドは各エンティティに対して暗黙に呼び出される。ゲーム開発者がこのメソッドを明示的に利用する必要はない。
このメソッドの呼び出し後、 this.db[e.id]
は未定義である。
登録を削除するエンティティ
コンテンツそのものを表すクラス。
本クラスのインスタンスは暗黙に生成され、ゲーム開発者が生成することはない。 ゲーム開発者は
g.game
によって本クラスのインスタンスを参照できる。本クラスをゲーム開発者が利用するのは以下のようなケースである。