GustFront (2.1.1) | 2013-05-05 22:09 |
MortalRoar (2.1.1) | 2014-03-05 22:16 |
RVIILib (2.1.1) | 2013-05-05 22:10 |
StdAreaEngine (2.1.1) | 2013-05-05 22:10 |
StdUtilLib (2.1.1) | 2013-05-05 22:11 |
StdWindow (2.1.1) | 2013-05-05 22:11 |
エレメントとはスクリプトからアクセス可能なオブジェクトの一つで、次のような特徴を持ちます。
ゲームにおける通常の使い方としては、まず初期データを記述し、起動時に読み込みます。それからデータをロードする時に、セーブしたものでプロパティを上書きします。そしてスクリプトでそのプロパティを取得または設定して利用します。一部のプロパティはスクリプト エンジンなどが参照する場合もあります。
例として、ロール・プレイング・ゲームの武器に関するデータを保持するエレメントを定義してみましょう。
まずテキスト ファイルを作成します。名前は任意ですが、Weapon.ini としましょう。このファイルのエンコーディングは、スクリプトと同様に、Environment.ini の設定と同じものにします。
次に、ショートソードという武器を表すエレメントを追加してみましょう。Weapon.ini を開き、以下のように記述します。
[ShortSword] Name="ショートソード"
上記のうち、[] で囲まれた部分がタグになります。このショートソードはスクリプトからは ShortSword というタグを使ってアクセスします。エレメントはコマンドを用いて複製しない限り、すべての場所で共有されます。
タグより下が、プロパティと値の組み合わせになります。Name がプロパティで、ショートソードという文字列がその値になります。文字列なので二重引用符で囲みます。基本型であればスクリプトと同じ文法で指定できます。リストも、リスト初期化子 {} を使う点で同じです。Nothing を指定することもできます。値にエレメントを指定する場合、そのタグを [] で囲んでください。
では続いてロングソードも追加してみましょう。Weapon.ini を次のようにします。
[ShortSword] Name="ショートソード" [LongSword] Name="ロングソード"
あるタグから次のタグ、もしくはファイルの終端までが、1 つのエレメントになります。これでロングソードも追加できました。
この状態では道具のデータが名前しかありませんので、次に価格を表す Price というプロパティを追加してみましょう。
[ShortSword] Name="ショートソード" Price=100 [LongSword] Name="ロングソード" Price=200
エレメントおよびプロパティは、同様の手順で任意に追加できます。
エレメントは 1 つのオブジェクトとして扱うことができます。例えば先ほど作成した ShortSword の Price を取得するには次のようにします。
Dim the_price = [ShortSword].Price
値を設定してプロパティの値を変更することもできます。ただしエレメントはすべての場所で共有されるため、注意が必要です。
いずれの操作も、ShortSword を含む Weapon.ini の読み込みが完了してから行なう必要があります。
現在、エレメントの入出力を行なう標準コマンドはありません。個々のアプリケーションのスクリプト エンジンが実装し、提供することになっています。これはファイルの配置をアプリケーションに任せているためです。
このファイルは最初に必ず読み込まれます。ルートに置かなければならず、エンコーディングは ASCII に限定されます。
このファイルは Environment というエレメントを持ち、Encoding という文字列の必須プロパティがあります。必須プロパティとは、必ず追加しなければならないプロパティです。下に一例を挙げます。
[Environment] Encoding="UTF-8"
これはスクリプトやエレメントを記述しているファイルのエンコーディングを UTF-8 とするものです。UTF-8 が不都合であれば他のものを指定してください。
[PageInfo]
LastUpdate: 2013-04-29 21:49:02, ModifiedBy: kento_kaimoku
[Permissions]
view:all, edit:members, delete/config:admins