Skip to content

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

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

凡例

sh
akashic scan asset

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

利用例

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

詳細

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

名前役割
scriptJavaScriptのコードを配置する
imagePNG形式またはJPEG形式の画像を配置する
audioOGG形式とM4A形式(あるいはAAC形式)のオーディオファイルを配置する
textその他のデータ(テキスト形式)を配置する
assets上記 4 種類全てのアセットを配置できる
(詳細は 複数アセットをまとめて扱う を参照)

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

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

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

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

アセットのファイルパスを利用し、シーン内でアセットを利用することができます。ファイルパスは、 game.json のあるディレクトリをルート (/) とする スラッシュ区切りの絶対パスです。

javascript
function main() {
  var scene = new g.Scene({
    game: g.game,
    assetPaths: ["/image/player.png"] // シーン内で利用するアセットのパス
  });

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

関連情報