セーブデータの保存に用いられる実装の一つが INI (アイエヌアイ) です。

このエントリーをはてなブックマークに追加

Windows では拡張子が .ini で、歴史的にもずいぶん長く使われてきました。中身は単なるテキスト形式です。

シンプルな記述で理解しやすいし扱いも楽だけど、階層構造を持たせることができないため大量のデータを扱う場合には向いていません。

参考URL(YoYoGames):Ini Files

基本構造/三つの要素

INI にはセクション( section ) とキー( key )と バリュー( Value ) という三つの要素があります。

  • セクション( section )
  • キー( key )
  • バリュー( Value )

各セクションの下に「キー」が格納され、キーは値を示しています。キーは変数みたいなもんです。

INI に保存された一例
[Section_A]
SampleKeyREAL="123.000000"
SampleKeySTR="TEST"
[Section_B]
SampleKeyREAL="456.000000"
SampleKeySTR="Sample"

セクション名が別ならキー名は重複しても別物として扱えます。

GM:Studio で INI を使ってデータを扱う場合、値に Real (実数) と String (文字列) の区別はありますが、数値は実数型として保存されるため例えば

    var a=123;

という数値データも INI に実数として保存されると123.000000となります。

実害は無いはずですが、これを INI で整数として保存したい場合は

    string(val)

などを用いてキャストします。

サンプルコード

var a=123;//変数型は実数です
ini_write_string(“TEST” , “AsString” , string(a));//文字列として書き込み
ini_write_real(“TEST” , “AsReal” , a);//実数として書き込み
ini_close();//上記内容でファイルへ書き込み

これで保存された INI は以下のような内容となります。

[TEST]
AsString=”123″
AsReal=”123.000000″

次のページへ

Leave a Reply

Your email address will not be published. Required fields are marked *