Akashic Engine 逆引きリファレンス

スクリプトを分割する (複数のスクリプトを使う)

スクリプトを分割するには、require() を利用します。

凡例

var redRectScene = require("./redRectScene");

利用例

次のコンテンツは、赤い矩形を描画するだけのシーン(redRectScene.js)を main.js から利用して表示しています。

詳細

Akashic Engine のゲームロジックは .js ファイル (スクリプトアセット) に記述します。 ゲームが大規模になってきた場合、処理を複数の .js ファイルに分けて書くことができます。 akashic init で生成した JavaScript テンプレートの場合は下記の手順を行います。

  1. script/ ディレクトリに任意の .js ファイルを作成
  2. akashic scan assets を実行し、追加した .js ファイルをアセットとして game.json に登録
  3. 他のスクリプトから require() で対象の .js を読み込んで利用

外部から利用可能にするには、module.exports プロパティに代入します。下記の例では create に代入された関数が他のファイルから利用できます。

module.exports.create = function() {
  var scene = new g.Scene({ game: g.game });
  scene.onLoad.add(function() {
    ...
  });
  return scene;
};

上記の .js ファイルを 同ディレクトリの main.js から利用する場合は、require() 関数でそのファイルを読み込むことができるようになります。 require() の引数は、読み込む .js ファイルの相対パスです。TypeScript テンプレートの場合は、 script/ ではなく src/ ディレクトリに .ts ファイルを作成することになります。

var redRectScene = require("./redRectScene");

function main() {
  g.game.pushScene(redRectScene.create());
}

関連情報