Unity製ノベルゲーム制作キット。iphone・Android アプリ化対応。

変数・演算を活用しよう

ジョーカースクリプトは非常に強力な機能群を提供します。

変数とは

ジョーカースクリプトでは変数を使うことができます。

変数とは 何かを記憶させておく箱になります。
この「何か」というのは、例えば

・プレイヤーに入力させた、主人公の名前
・キャラクターの好感度
・フラグ管理

など、いろいろです。「フラグが立った」といった表現は結構一般的になりましたね。

実際のコードを見てみましょう [calc exp="f.test=500"]
;↑変数 test に数値を代入している

[calc exp="f.test2=400"]
;↑変数 test2 に数値を代入している

[calc exp="f.test2={f.test}*3"]
;↑変数 test2 に 変数 test の 3 倍の数値を代入している

{}で変数をくくると中身を展開して表示
{f.test2}[p]

これらで代入した値は、条件分岐で使ったり
そのまま画面に表示したり、多様な活用が可能です。

変数で文字を扱いたい場合は[flag]タグを使用します
以下のコードを見てください
[flag exp="f.test=ゆうこ"]
;↑変数 test に文字列を代入している

はじめまして{f.test}さん。[p]
;はじめましてゆうこさん。と表示される

;文字の連結
[flag exp="f.str = はじめまして{f.test}さん" ]
{f.str}
;はじめましてゆうこさん。と表示される



変数として使用可能な名前

ジョーカースクリプトでは変数に自由な名前を付けることができます。ただ、以下のルールは守ってください

・変数名には半角英数と全角文字、_ (アンダーバー) を使うことができる
(例) f.flag_test sf.your_name_3

・変数名の最初に数値がくることはできない
(例)× f.3name はダメ



変数の内容を表示する

変数の内容をシナリオで表示したい場合は[emb]タグを使用してください
例えば、以下のようになります。 [cm]
[calc exp="f.num=200"]
[flag exp="f.mojiretu='こんにちは'"]

f.num の内容 : [emb exp="f.num"][l][r]
f.mojiretu の内容 : [emb exp="f.mojiretu"][l][r]
実行結果は
f.numの内容:200
f.mojiretuの内容:こんにちは

[emb]タグは省略形が準備されています
{f.num} のようにすることで、中身を表示することができます


これは、主人公の名前を自由に選択できるときなどに、活用できますね。



タグの属性として変数を使う

変数の内容で他のタグ属性を置き換える機能です。
属性の値に、{}で括った変数名を記述して下さい
;一時変数にテキストを代入
[flag f.title = "これはテストですよ"]
;代入しておいた変数をval属性の値として格納 「これはテストですよ」というテキストが画面に表示されます
[text_new name="text" val={f.title} ]
[show name="text"]

デフォルト値

変数を展開するときに値が入っていな買った場合
デフォルト値を用意することができます

以下のコードを確認して下さい

;f.titleという変数をコメント化して無効
;[flag f.title = "これはテストですよ"]
;f.titleという変数が存在しないので|の後ろの文字列が採用される
[text_new name="text" val={f.title|これはデフォルト文字列です } ]
[show name="text"]