• VRスクリプティング&VRコンテンツ製作キット。

変数とは

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]タグでシステム変数を全消去できます。