イベントスクリプトとは、音楽を鳴らす、画像表示、マップの移動、戦闘など、
ゲームを作る上で欠かせないイベントを操作するための xml ファイルです。
エディタでイベントを作成した場合、 mapName.xml 形式で保存されたファイルの CDATA セクションにその内容が書かれます。
基本的な文法は ActionScript 3.0 を参考に作ってあります。
スクリプトを受け取るとアセンブラ風の言語にコンパイルし、スタックベースの仮想マシーンで順に実行していきます。
変数の宣言するには var というキーワードを使います。 現在対応しているリテラルは文字列と数字と配列です。
// int
var val1 = 10;
var val2 = 0xFFFF;
// Number
var num = 3.14;
// Boolean
var b = true;
// String
var str = "Test";
// Array 要素にアクセスするには array[0] というようにします
var array = [ 0, 1, 2, "test", 4 };
制御文とは、式を評価することで条件分岐をし、処理を振り分けることができるようにしたりする文です。
if while for が使えます。
for (var i = 0; i < 10; ++i) {
if (i == 5) {
MB(i);
break;
}
}
var i = 0;
while (i < 20) {
++i;
}
MB(i);
関数を宣言するには function というキーワードを使います。
function test(p1, p2)
{
MB(p1 + p2);
}
test("Hello ", "World");
予約語とは、スクリプトで使う if などの制御文や、String などの変数の型を定義した物です。
変数の名前に使うことはできません。
break | case | catch | class | continue |
default | delete | do | else | finally |
function | for | if | import | in |
instanceof | new | return | switch | suspend |
while | this | throw | try | typeof |
with | var | void | Number | String |
_ret | true | false |
現在使えるのは以下の通りです。
// 指定したファイルを挿入します
#include "Scripts/test.txt"
// Boolean 型の変数
var b = true;
MB(typeof b);
システム変数とは、宣言をすることなく、最初から定義されている変数で、特殊な用途で使われます。
現在用意されている変数は _ret のみです。この変数はコマンドを使った後の戻り値を保存しておく物で、例えば menu 関数を実行した後の戻り値として、選択されたメニューアイテムのインデックスが保存されます。