GameMaker 日本語掲示板

テキスト外部ファイル化の良い方法を知りたいです。 / 9

10 コメント
views
16 フォロー
9
名前なし 2022/08/03 (水) 07:43:46 修正 >> 7

test_game.exe
 └system
  └scroll_player.dat

file_text_open_readで読み込むときは、working_directory等を付けなくても読み込むことが可能です。

▼マニュアル working_directoryについて
https://manual.yoyogames.com/GameMaker_Language/GML_Reference/File_Handling/File_Directories/working_directory.htm

dir = "system/";
fid = file_text_open_read(dir + "scroll_player.dat");

で読み込めます。

file_text_open_read実行時には、ゲームの実行ファイルのある場所が基準となりますので、事項ファイルのある場所以下のパスを入れることで読み込むことができます。デバッグ時も変わらないはずです。

上にあった、appdata等からも読み込むことができますが、優先順位があります。

file_text_open_readなどで読み込む際には、ファイルが存在するか?読み込めるか調べて無かった場合、順位が下のファイルが存在するか?読み込めるかを調べていくようです。

1.「%localappdata%<ゲーム名>」or「%appdata%<ゲーム名>」のパス以下
2.ゲームの実行パス以下

ビルド前に

dir = program_directory + "/system/";

を有効化する必要もないと思います。

fid = file_text_open_read("system/scroll_player.dat");

なら、実行ファイルのある場所以下systemフォルダのscroll_player.datを読み込めます。

datafilesに入れたフォルダやファイルは、exeのある場所にそのまま配置されるので、デバッグ時でもプログラムを変える必要はないと思います。デバッグ時もexeが出来たときと同じように読み書きできます。

datafiles(インクルードファイル)
 └system
  └scroll_player.dat

で実行ファイルを作成するとファイルの配置は

test_game.exe
 └system
  └scroll_player.dat

となります。

マニュアルのFile Systemページにファイルの仕組みが解説されていますので参考にしてみてください。
https://manual.yoyogames.com/Additional_Information/The_File_System.htm

通報 ...