tyranoVRでは変数を使うことができます。
変数とは 何かを記憶させておく箱になります。
この「何か」というのは、例えば
・プレイヤーに入力させた、主人公の名前
・キャラクターの好感度
・フラグ管理
など、いろいろです。「フラグが立った」といった表現は結構一般的になりましたね。
tyranoVRでは、以下の3つの種類の変数が利用できます。
実際のコードを見てみましょう
;ゲーム変数値数値を代入
[eval exp="f.flag1 = 1000"]
;システム変数に文字列を代入
[eval exp="sf.変数その1 = '文字列'"]
;一時変数に変数を代入
[eval exp="tf.flag1 = f.flag2"]
これらで代入した値は、アトで条件分岐で使ったりそのまま画面に表示したり、多様な活用が可能です。
さらに、[iscript]タグを使うと、連続したevalを完結に記述することができます。例えば、先程のコードは
[iscript]
f.flag1 = 1000
sf.変数その1 = '文字列'
tf.flag1 = f.flag2
[endscript]
このように書くこともできます。2つはまったく同じ動作をします
ティラノスクリプトでは変数に自由な名前を付けることができます。ただ、以下のルールは守ってください
・変数名には半角英数と全角文字、_ (アンダーバー) を使うことができる
(例) f.flag_test sf.your_name_3
・変数名の最初に数値がくることはできない
(例)× f.3name はダメ
計算をしたい場合は
[eval exp="f.flag1 = f.flag1 + 1"]
この例では、f.flag1 に 1 を足した物を f.flag1 に代入しています ( つまり f.flag1 に 1 を足している )。
[eval exp="f.flag1 = f.flag1 + f.flag2 * f.flag3"]
f.flag2 と f.flag3 をかけたものに f.flag1 が加算されたものが f.flag1 に入ります。
除算を行うときは / (スラッシュ) を用います。
文字列の連結も+を活用します
[eval exp="f.flag2 = 'hoge'"]
[eval exp="f.flag3 = 'une'"]
[eval exp="f.flag1= f.flag2 + f.flag3"]
変数を削除する場合は delete 変数名 と記述します。例えば、f.flag1 を削除したい場合は
[iscript]
delete f.flag1;
[endscript]
と記述します。
[clearvar]でゲーム変数を一括で全消去できます。
[clearsysvar]タグでシステム変数を全消去できます。