チュートリアル

フラグで分岐

アイテムを持っているか、誰々と会ったか、などの状態によって話を分岐させることがあります。LiveNovelでこういったことを実現するには「変数」を使います。
例えば、先ほどの続きを次のようにしたいとします。

@床にバナナが落ちている。どうしようか・・・

思い切って食べてみよう 腹を壊すぞ。やめておこう


Aよーし、食べてみよう
もぐもぐ・・・。う、うまい


B腹を壊すぞ。やめておこう
ぐるるぅ〜。は、腹が減ってきた・・・


C授業が始まった・・・
・・・
昼になった

バナナを食べた場合 バナナを食べなかった場合


Dあたた・・・腹が痛い・・・


Eやっと飯の時間だ〜


見てのとおり、最初の選択でAを選んでもBを選んでもCにつながります。そしてしばらく話が続いた後、バナナを食べたかどうかでDEに話が分岐します。

では、まず変数を用意するところから始めます。「変数リスト」ウィンドウを表示してください。そして、「変数」メニューの「追加」を選択します。ダイアログが出ますので、項目を順に設定していきます。

「名前」は変数に付ける名前です。ここでは「バナナを食べた」とします。

「変数タイプ」はどういった値を扱うかといった設定です。以下のような種類があります。
整数 小数の扱えない数値
実数 小数も扱える数値
フラグ 扱える値はFALSETRUEだけ
文字列 文字列
ここでは食べたか食べてないかの状態を保持するだけなので「フラグ」変数を使います。ちなみにFALSEはOFF、TRUEはONという意味です。

「初期値」はゲーム起動時またはリセット時に変数に入れる値です。ここでは「FALSE」にします。

「動作タイプ」には以下の種類があります。
通常

ゲーム起動時またはリセット時に初期化されます
リセット時とは以下のような時です
・プレイヤーがシステムメニューを使ってタイトル画面に戻った時
・「シーン回想」モードで話を始めた時
・ゲームが終了してタイトル画面に戻った時

起動時のみ初期化 ゲーム起動時にだけ初期化されます
ステータス インストール後、最初にゲームを起動した時にだけ初期化されます。また、ソフト起動時に値を復帰し、ソフト終了時に値を保存します(その間にプレイヤーが行うゲームセーブ・ロードの影響は受けません)
ここでは、ゲームが始まるたびに初期化されてほしいので「通常」タイプにします。
OKをクリックしてダイアログを閉じます。

変数を操作する時は「計算」ノードを使います。「シナリオ」メニューの『「計算」追加』を選択してください。

このようなノードが作成されます。
まず、分りやすいように「名前」を「バナナを食べた=TRUE」にします。
次にノードをダブルクリックして編集ウィンドウを開き、右クリックメニューから「追加」→「計算式」を選択します。そして「バナナを食べた = TRUE」と入力してOKボタンをクリックしてください。

これは「バナナを食べた」と言う名前の変数にTRUEを入れる、という意味です。では、OKをクリックしてください。

食べた場合にだけこの計算を実行させたいので、Aのノードからだけこのノードにジャンプさせます。

Cのノードを作り、合流するようにそれぞれジャンプさせます。

ここから「バナナを食べた」変数の内容によってDEに分岐させるので、「授業中」ノードのジャンプ先は以下のようになります。

最終的にチャートは以下のようになります。

では、ゲームを実行して、正しく分岐するか確かめてください。


←戻る 進む→