【ウディタ】条件を満たすと新たな選択肢が登場するイベントをつくる

2021-12-03ウディタで作ってみよう

ネコに話しかけて名前を聞いてから、もう一度話しかけると『名前を呼ぶ』という新たな選択肢が登場するイベントを作ってみましょう。

今回作るイベントの完成形はコチラ↓

このイベントでは文字列変数一つ使用します。

文字列変数を用意する

はじめに、今回のイベントで使用する文字列変数を用意します。

システムデータベースのタイプ4番を開き、空いている文字列変数に名前をつけてください。
このサンプルでは文字列変数1番を使用しますが、1番以外の文字列変数を用意していただいても構いません。(ただし後で入力する数値が異なります)

イベントをつくる

ネコに話しかけるイベントを作りましょう。新たなマップイベントを作成しネコの歩行グラフィックを設定したら、イベントの中身を入力していきましょう。(マップイベントさえ作ればOKです)

追加したい選択肢を文字列変数に代入する

コマンド入力の『文字列操作』を開いたら、
先ほど用意した文字列変数に、条件を満たした場合に追加したい選択肢の文字列を代入しましょう。

サンプルでは『名前を呼ぶ』の選択肢が増えるようにしたいので、文字列変数1番に『名前を呼ぶ』の文字列を代入しております。

選択肢をつくる

つぎに選択肢を作ります。
画像を見ていただけるとわかるとおり、分岐3だけ\s[1]と変な文字が書かれてますね。

これは『特殊文字』と呼ばれるもので、\s[1]と書けば\s[1]がゲーム側で文字列変数1番に代入された値(文字列)に自動変換される機能を持っています。よくわからなくても大丈夫です。
特殊文字の種類は、エディタのメニューバーにある ヘルプ > 変数呼び出し値 / 特殊文字一覧 から確認できます。

この特殊文字を活用しましょう。

さて、はじめにあなたが用意した文字列変数の番号がサンプルと同じ1番の場合は、画像と同じように分岐3の欄に\s[1]半角で入力してください。
用意した文字列変数が1番以外の場合は、\s[]の中身の数値を用意した文字列変数の番号に変更してくださいね。(例えば文字列変数3番を使用する場合は、\s[3]と入力してね)

ここで入力した分岐3の値が、ゲーム画面では文字列変数の値に置き換わります。
(サンプルだと3番目の選択肢に『名前を呼ぶ』が表示されるようになります)

なんとなくの理解で構いません、実際に動かしてみたら腑に落ちるので大丈夫です。そのまま進めていきましょう!

文字列操作を選択肢の中に移動させる

選択肢を作ったら、前に作成した文字列操作コマンドをはじめの選択肢『名前をきく』の入れ子にします。

こうすれば『名前をきく』を選択したあとにもう一度話しかければ『名前を呼ぶ』の選択肢が登場するようになります。

あとは適当におしゃべりさせれば、完成です!

このイベントのしくみ

ウディタでは、空欄の選択肢は表示されないという仕組みがあります。

例えばこのように入力したら(分岐3,4 と 分岐6~10が空白)

このように空欄の部分が省かれます。
今回のイベントではこの機能を活用しています。

選択肢に文字列変数を使うことで、
文字列変数の値(中身)が空っぽだと選択肢が表示されなくなり、逆に文字列変数に何らかの文字列が代入されていれば表示される、というシステムが作れるのです。


当ブログの記事がお役に立ちましたら、
ボタンをクリックしていただけますと励みになります(^^)v
(1日1回まで有効)
にほんブログ村 ゲームブログ ゲーム制作へ

どちらも押してくれると嬉しいな……。