Akashic Engine 逆引きリファレンス

ゲームにアセットを追加する

ゲームにアセットを追加するには、指定ディレクトリにファイルを追加後 akashic scan asset コマンドを実行します。

凡例

akashic scan asset

ゲームからアセットを削除する場合はこちらを参照してください。

利用例

次のコンテンツは、画像を表示します。

詳細

アセットを追加するには、指定ディレクトリに配置し、akashic scan asset コマンドを実行します。 akashic scan asset コマンドを実行すると、上記のディレクトリ内に新しいファイルが見つかった場合は game.json に登録し、ディレクトリからファイルが削除された場合は game.json から登録を解除します。 追加するファイルの種類により配置するディレクトリが下記のように決まっています。

名前 役割
script JavaScriptのコードを配置する
image PNG形式またはJPEG形式の画像を配置する
audio AAC形式とOGG形式のオーディオファイルを配置する
text その他のデータ(テキスト形式)を配置する
assets 上記 4 種類全てのアセットを配置できる
(柔軟ですが他と扱いが違うため、詳細は複数アセットをまとめて扱うを参照してください。)

画像ファイルの player.pngimage ディレクトリに置いて akashic scan asset コマンドを実行すると、画面に以下のように表示されます。

INFO: Added (or updated) the declaration for player (image/player.png)
INFO: Done!

game.json には以下の項目が assets プロパティに追加されます。

"player": {
  "type": "image",
  "width": 63,
  "height": 53,
  "path": "image/player.png"
}

game.json に登録されたアセット ID を利用し、シーン内でアセットを利用することができます。 アセット ID は game.json に登録されている名前です。 これはアセットを akashic scan で登録した場合は、ファイル名から拡張子をのぞいた文字列になっています。

function main() {
  var scene = new g.Scene({
    game: g.game,
    assetIds: ["player"] // シーン内で利用するアセットID
  });

  scene.onLoad.add(function() {
    var sprite = new g.Sprite({
      scene: scene,
      src: scene.asset.getImageById("player")
    });
    scene.append(sprite);
  });
  g.game.pushScene(scene);
}

関連情報