複雑な流れのイベントを作る
イベントの[実行内容]は、上から順番に実行されていきますが、その流れを変えたいことがあります。例えば、途中を飛ばしたり、前の方に戻ってもう一度繰り返したり、そういったことを行う場合です。
ここでは、そういった処理が必要になるケースと、その場合の処理のやり方を紹介します。
イベントコマンド[ラベル]と[ラベルジャンプ]
イベントコマンド[ラベル]で、[実行内容]のその場所に、任意の名前を付けることが出来ます。
そしてイベントコマンド[ラベルジャンプ]を行うと、指定した名前のラベルの場所にジャンプし、そこから実行を続けることになります。
「ラベル」が「ラベルジャンプ」の後にある場合、[ラベルジャンプ]を実行すると、そこまで飛ばして進みます。「ラベル」が、「ラベルジャンプ」の前にある場合は、そこまで戻ります。
イベント作成例
次の例は、ラベルを使った会話イベントです。
赤枠で囲った部分により、一つの質問が終わった後、「他にご相談は?」と表示した後、質問をする処理の前まで戻して、再び同じ質問を繰り返しています。
ただしこれだけだと、何度も同じ質問が繰り返されるため、「特にない」を選択した時、青枠で囲った部分の処理を実行して、終了する処理に進みます。
●選択肢が表示される
●上2つを選ぶと、この表示の後、再び選択肢が表示される
●「特にない」を選ぶと、会話を終わらせることができる
イベントコマンド[ループ]と[ループの中断]
イベントコマンド[ループ]を選択すると、以下のように、「ループ」と「以上繰り返し」が実行内容に追加されます。
この中にイベントコマンドを入れると、そのイベントコマンドを何度でも繰り返すことになります。しかし、何度でも繰り返されると、いつまでたっても抜けることが出来ません。しかし、ループの中で、[ループの中断]が実行されると、次に進むことが出来るようになります。
イベント作成例
「もうループを抜ける?」と聞かれ、「はい」と答えるまで、同じ質問が繰り返されるケースを考えましょう。
選択肢で「いいえ」を選ぶと、メッセージ表示後、[以上繰り返し]になり、[ループ]の最初の部分まで戻り、同じ処理を繰り返します。
選択肢で「はい」を選ぶと、[ループの中断]になり、[以上繰り返し]の次の行からイベントが実行されます。
●ループを抜けるか聞いてくる
●「いいえ」を選び続けると、メッセージ表示後、何度でも同じ質問を繰り返される
●「はい」を選ぶとループが中断される。
この処理はいろんな応用が可能です。よく使われる例として、悪者が「許してくれ」とプレイヤーに許しを乞う場面で、「はい」「いいえ」の選択肢が出るのですが、プレイヤーが「はい」と答えるまで、何度でもループして話が進まない展開を作る時などです。
[ループ]は[ラベル][ラベルジャンプ]で代替可能
さて、今の例ではループを使いましたが、実は同じ動作を、ループを使わずにラベルで行うことも可能です。試しにラベルに置き換えてみます。
これでも同じ動作をすることがお分かりでしょうか。
どちらを使うかについては、好みの問題や、拡張のしやすさなどがあるため、一概にどちらがいいとは言えません。両方覚えて、自分に合うと思った方をケースバイケースで使ってみてください。
まとめ
今回は簡単な例を挙げるにとどめましたが、これらの処理をうまく使うことで、複雑なイベントを組むことが可能になります。
とはいえ、具体的にどう使うものなのか、現時点ではいまいちピンとこない人も多いでしょう。
そこでまずはサンプルゲームなど、他の作品にある仕掛けのデータを見て、どういう風にこれらのイベントコマンドが使われているのか、参考にするといいでしょう。それらの使い方を参考にしながら、少しずつ、自分の物にしていってください。
●「エミールの小さな冒険」の、光った色の順番を覚えるギミック。ループやラベルが多用されている