Skip to content

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

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

凡例

sh
akashic scan asset
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!
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"
}
"player": {
  "type": "image",
  "width": 63,
  "height": 53,
  "path": "image/player.png"
}

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

javascript
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);
}
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);
}

関連情報