🧐
【GameMaker】最終ビルドには使ってないアセットは含まれない!?【インディーゲーム制作】
アセットは使っているものだけがビルドされる
公式が気になった動画をあげていたので、記しておきます。
この動画は全部英語なので、自動翻訳しながら見ました。要約するとこういうことです。
GameMakerで作ったゲームを最終的には書き出すと思いますが、そのときに使っていないアセットがあった場合、そのアセットは含まれないそうです。
これがどういうときに問題になるかと言うと、
script_input
asett_get_index("spr_" + current_gun);
のように引数に文字列+変数みたいな感じのときにおこります。
current_gunは変数で、状況によって
・gun_medium
・gun_strong
・gun_weak
に変化するとします。
これらはアセット名が直接書かれていないのです。
コード内に「spr_gun_medium」みたいに書いていません。
ビルドの段階では、spr_gun_medium, spr_gun_strong, spr_gun_weakのアセットは使っていないことになってしまい、最終ビルドに含まれなくなってしまうのです。
この結果、当然エラーが発生します。
解決方法
この問題を解消するには、設定で未使用のアセットを自動的に削除するオプションからチェックを外すのが手っ取り早いみたいです。(英語表記になっている部分)
沼りそうなポイントなので気をつけたほうがいい。
というか、プロジェクトを作ったら、最初にここのチェックを外しておいたほうがいい。
Discussion