Akashic Engine 逆引きリファレンス

  • スナップショットを保存する

スナップショットを保存する

スナップショットを保存するには、 g.game.requestSaveSnapshot() を利用します。

凡例

スナップショットの保存:

g.game.requestSaveSnapshot(function() {
  var snapshot = {
    // ゲームの実行状態を表すオブジェクト
  };
  return { snapshot: snapshot };
});

スナップショットからの復元:

// main スクリプトでエクスポートされている関数
// (game.json の "main" に指定されている、実行開始時に最初に実行されるスクリプトの関数)

function main(param) {
  if (param.snapshot) {
    // 引数 param に snapshot があるなら、スナップショットからの復元処理を行う。
    // param.snapshot は g.game.saveSnapshot() で過去に保存された値。
  } else {
    // 通常の起動処理を行う。
  }
}

詳細

スナップショットを保存し、そこからの復元処理を実装することで、スキップ処理にかかる時間を短縮することができます。 スキップとは、マルチプレイの画面を途中から開いた場合などに生じる「最新フレームに追いつくための早送り」処理です。

スナップショットは、ゲームの (非ローカルな) 実行状態をすべて保存・復元しなければなりません。 詳細は Akashic Engine 入門の スキップ時間を短縮する を参照してください。

関連情報