テストプレイ時にまた連投すみません。問題の報告と、改善案が間違っておりましたので、訂正いたします。
>改善案として、enemiesとsv_enemiesに同じ名前のフォルダがある場合は、どちらも消さない、という処理を挟めば、未然に防止できると考えられます。
違いました。
正しくは、
〇「未使用ファイルを含まない」チェックボックスONのデプロイメント時に、
「サイドビュー戦闘を使用」チェックボックスのON/OFFによって、enemiesフォルダかsv_enemiesフォルダのどちらか一方をフォルダ毎全て消す処理を止め、
Enemies.jsonに含まれている画像ファイル名が、enemiesとsv_enemiesのどちらか一方のフォルダに存在していれば、その素材ファイルは、消さない
という対策で解決できます。
また、症状がなぜ頻発するのかを実験するために、試しに新規プロジェクトで以下のことを試しました。
1.「サイドビュー戦闘を使用」をOFF
2. フロントビュー用画像しかない敵オークの画像を「SF_Seiryu.png」を設定
3.「サイドビュー戦闘を使用」をONにし、サイドビュー用の敵オークの画像が「なし」のことを確認してOKを押す。
4. 画像プロジェクトファイルを保存。ツクールMVを閉じて、「未使用ファイルを含まない」チェックボックスONでデプロイメント
5. 出来上がった実行ファイルのdataフォルダのEnemies.jsonの確認すると、サイドビューに切り替えたはずなのに、
画像にはフロントビュー専用のはずの「SF_Seiryu」が入っている(実際のゲームでももちろんSF_Seiryuが見つからないと出る)
原因は、フロントビューにしか使わない、もしくはサイドビューにしか使わない素材も存在するのに、
それらはエディタで「サイドビュー戦闘を使用」チェックボックスを切り替えると、
エディタ画面上では以下の画像のように「なし」になりますが、
内部のdataフォルダのEnemies.jsonでは、「SF_Seiryu.png」の設定が残っているからです。
なぜこのような状態になるのかは不明ですが、
上記の状態だと、エディタでは敵グラフィックが「なし」でも、
テストプレイや本番プレイ時には、実際にEnemies.jsonにある存在しない画像ファイルを取ろうとするのでエラーが発生し、
開発者はエディタを信用して、そのままゲームをリリースしてしまう可能性があり、とても危険です。
これがデプロイメントの「未使用ファイルを含まない」がOFFなら問題はない(ちゃんと読み込まれる)のですが、
「未使用ファイルを含まない」がONになっているから起きる症状だったので、非常に難解な説明になってしまいました。
申し訳ありません。
以上で説明を終わります。可能でしたら、次の次のバージョンアップでもいいので、対策をお願いできると幸いです。
>ツクラーの皆様へ
これが解決するまでは、サンシロさんの「未使用素材ファイル削除プラグイン」SAN_FileDeleter.jsを使ったほうが、遥かに安全です。
dataフォルダやjsフォルダも含め、全てのソースから、素材のファイル名を検出し、それ以外の不要素材を削除してくれます。
また、右クリック→テストで実行できますし、ちゃんと不要素材を抜いた状態でテストプレイできるので、便利です。
ただし、仕様前は必ずプロジェクトファイルのバックアップを取ってから行ってください。 元々の素材が削除されますので。
https://docs.google.com/spreadsheets/d/15cw-V0M-GuYHEX3ZcREr8zE0Ei-EEifrRZXPnFzoaFM/edit#gid=0