やさしいウディタ講座11:条件分岐&変数で複数イベントを変える

無料のゲーム開発ツール「ウディタ(WOLF RPGエディター)」の基本的な使い方を、初心者さん向けに紹介するこの企画。

前回「やさしいウディタ講座10:条件分岐の基本!イベント内容を振り分ける」では、条件分岐コマンドの使い方を紹介しました。

今回は前回講座でやった「条件分岐」の続き。応用編です

1つのマップイベントではなく、複数のマップイベントを条件分岐で一気に変更するやり方を解説しましょう。ウディタの変数の性質についても、同時に学べますよ。

「やさしいウディタ講座」- もくじ
現在公開中の講座をまとめたページ。「ウディタのことがよくわからない」「簡単な機能から覚えたい」などの初心者さんは、初期の講座から読むのがおすすめです。
>>WOLF RPGエディター|公式サイト
公式サイトにはウディタの使い方を詳しく解説している、マニュアルやガイドが公開されています。ウディタを学ぶ際の必須となる教科書です。ぜひ参考にしましょう。

本講座をはじめるには前回講座で準備を

条件分岐コマンドで、花の画像を切り替える

上のようなイベントを前回の講座で作りました。

ウディタ ゲーム画面

今回の講座はその続きです。前回の「やさしいウディタ講座10:条件分岐の基本!イベント内容を振り分ける」で作った2つのマップイベントを、そのまま使いまわします。

  • マップイベント「
  • マップイベント「魔法使い

というわけなので、前回講座「やさしいウディタ講座10:条件分岐の基本!イベント内容を振り分ける」を見ながら、ちゃちゃっと「花」と「魔法使い」のマップイベントを作っておいてください。

既に前回講座をやっていてデータが残っている人なら、そのままでオッケー。以下を読み進めて大丈夫です。

この講座を参考にする前に

このやさしいウディタ講座では「サンプルゲームのData」を使って解説しています。基本的に「空データ基本システム入りData」でやっても大丈夫ですが、後者のDataにはグラフィックなどの素材があまり入っていません。講座の解説どおりにできない場合も考えられます。もし素材が足りなければサンプルゲームのDataフォルダ内にあるものをコピーし、同名のフォルダ内に入れておけば対応可能です。

スポンサーリンク

条件分岐で複数の花の画像を一気に変える

マップに「花」と「魔法使い」のマップイベントを置く

ウディタ マップ

複数の花をマップに置きたいので、ある程度広さのあるマップを用意したいですね。

ウディタ マップ

上の画像のように、星マークの4箇所へ同じ花を置く予定で進めてみます。

先に作っておいた「花のマップイベント」と「魔法使いのマップイベント」を、同じマップ内に置きましょう。

前回講座で設置した場所から移動させるのが簡単です。移動させたいマップイベント上で、マウスを右クリック。

ウディタ マップイベント 右クリックメニュー

メニューから「イベント切り取り」→「イベント貼り付け」を駆使して、好きな位置へ移動。

ウディタ ゲーム画面

上はウディタのゲーム画面。柵の中に花のマップイベントを1つ、柵の外に魔法使い(黒服の人)のマップイベントを配置してみました。

4つの花のマップイベントを設置する予定ですが、まだ今の段階では1つだけにしておいてください。

システムデータベースで通常変数を作る

条件分岐の判断で使用するのが「変数」です。

前回講座では花のマップイベント自身が持っている、「セルフ変数0」を使いました。しかし、このセルフ変数を今回は使いません

代わりに、ウディタのシステムデータベースに存在する「通常変数」を使います

通常変数ではなく、「予備変数」を使っても構いません。どちらも機能的には同じなので、好きな方でどうぞ。

システムデータベース」を開きましょう。

ウディタ システムデータベース

タイプ一覧から「14:通常変数名」を選択。データの空いている部分にカーソルを合わせ、IDにわかりやすい名前を登録してください。

ウディタ システムデータベース 通常変数名

ここでは2番を使用。変数名を「花の種類を変更」にしてみました。

登録が終わったらOKボタンをクリック。これで新しく作った通常変数「花の種類を変更」を使うことができます。

花のマップイベントの起動条件を変更

条件分岐で、花の画像を変えるのに必要なのが「起動条件」。

前回講座ではセルフ変数0を起動条件にしました。この部分を、先程作った通常変数「花の種類を変更」に変えます。

花のマップイベント

  • ページ1の「白い花」の画像
  • ページ2の「黄色い花」の画像

ページ1とページ2の起動条件を変えます。起動条件のプルダウンメニューを開き、通常変数の「V2:花の種類を変更」へ切り替えてください。

ウディタ マップイベント画面

花のマップイベント【ページ1】

ウディタ マップイベント画面

花のマップイベント【ページ2】

他の部分はそのままで大丈夫。

セーブして内容を保存。花のマップイベントの画面を閉じます。

条件分岐のコマンドを修正する

次に、魔法使いのマップイベントで作ったコマンド、条件分岐を変えます。

条件分岐のコマンドをダブルクリックしましょう。

ウディタ マップイベント コマンド

修正画面が出ます。

ウディタ 条件(変数) イベントコマンドの修正

花:Self0(花のマップイベントのセルフ変数0)」の部分を、「V2:花の種類を変更」の通常変数へ切り替えてください。

プルダウンメニュー上の「」ボタンを選択状態にすれば、通常変数を選ぶことができます

作業を終えたらOKボタンをクリック。修正内容を保存します。

変数操作のコマンドを修正する

魔法使いのマップイベントのコマンド、セルフ変数0の変数操作を変えます。

該当のコマンドをダブルクリックして、修正画面を表示。

ウディタ マップイベント コマンド

上のSelfボタンを「」ボタンに切り替え。すぐ下のプルダウンメニューを開き、「V2:花の種類を変更」を選択します。

ウディタ 変数操作 イベントコマンドの修正

最後にOKボタンを押して保存。

コマンド欄を見ましょう。

ウディタ マップイベント コマンド

上のような内容になっていれば大丈夫です。セーブボタンを押し、保存してください。

花のマップイベントを増やす

マップに4つの花を置く作業です。

花のマップイベント上で右クリック。「イベントコピー」を選び、好きな場所を選んで右クリックから「イベント貼り付け」を選択。

ウディタ マップ

この作業を繰り返せば、好きなだけ同じマップイベントを置くことができます。

これで全部の作業が終わりました。

テストプレイで確認

コマンドが思ったとおりに実行されるかどうか、テストプレイで調べてみましょう!

テストプレイのために主人公キャラの初期位置をこのマップにする場合、「やさしいウディタ講座2:人を配置・看板を調べるイベントの作り方 – 主人公キャラを自作マップ上で操作できるようにする」を参考に、作業してみてください。

魔法使いに話しかけると…。

ウディタ ゲーム画面

4つの白い花が、一気に黄色い花へと変化しました!

ウディタ ゲーム画面

魔法使いに何度も話しかけてみてください。そのたびに4つ全ての花の画像が切り替わるはずです。

条件分岐に通常変数を使った理由

条件分岐に使う変数を、セルフ変数から通常変数(予備変数)に変えたのが今回のポイント。

なぜそうしたのか?以下で解説してみます。

起動条件にできるセルフ変数は自分自身のものだけ

セルフ変数とは、マップイベント自身が持っている固有の変数です。0~9が用意されています。

ウディタ マップイベントとセルフ変数

同じマップ内に設置したマップイベント間で、お互いのセルフ変数の中身を変えたり、見たりできるのが特徴。

ただ、これができるのって、「変数操作」や「条件分岐」といったコマンド入力での話なんですね。「マップイベントの起動条件」は、また別の話

起動条件を実際にいじってみると、わかると思います。

ウディタ マップイベント起動条件の変数

たとえ同じマップ内のイベントであっても、別のマップイベントのセルフ変数を起動条件に指定できません。セルフ変数を起動条件にできるのは、自分自身のものだけなんです

自分自身のセルフ変数を使うデメリット

「起動条件に別のマップイベントのセルフ変数を指定できない」

そのように、上で説明しました。

ただし、複数あるマップイベントがそれぞれ自分自身のセルフ変数を使うことにより、対応自体は可能です。複数存在する花のマップイベントの画像を、一気に変更できます。

…なんですが、このやり方はおすすめしません

  • 4つの花のマップイベントが個々に持つセルフ変数に対し、変数操作をしなければならない。
  • 4つの花のマップイベントの起動条件を、バラバラの内容にしなければならない。

仮に上の方法でやった場合、コマンドは以下のようになると思います。

ウディタ マップイベント コマンド

うわぁ…変数操作まみれですね~。

これを「修正しろ」「もっと増やせ」なんてことになったら末恐ろしいです。

複数&別マップのイベントに反映させるなら通常変数で

セルフ変数ではなく、今回の講座のようにシステムデータベースの通常変数(もしくは予備変数)を使う理由は以下のとおり。セルフ変数にはこのメリットがありません。

通常変数(予備変数)のメリット

  1. 全てのマップに存在するマップイベントで使える。
  2. 変数に名前をつけられる。

まず1について

通常変数は自由度の高い変数。マップやマップイベントに関係なく、どこからでもアクセスできます。

たった1つの変数であっても、複数のマップイベントの条件分岐や起動条件に使えるのがメリット。

ウディタ マップイベント コマンド

どこからでも呼び出せる、コモンイベントに対しても同様です。

2については、管理に便利です

セルフ変数だと名前をつけられません。そのときは覚えていても、時間が経つほど何に使われているセルフ変数なのか、忘れやすいのがデメリット。

以上が、通常変数(予備変数)を使う理由です。

>>【関連記事】:やさしいウディタ講座7:変数の種類と使うことのできる範囲

条件分岐と通常変数の組み合わせは影響力大!

影響力絶大な通常変数(予備変数も同様)。

多数のマップイベントに影響を与えたい場合は、セルフ変数よりも通常変数が理想的。

条件分岐と通常変数の組み合わせって凄いんですよ。

例えば、「とある場所にいる敵を倒した」としましょう。

倒した後に、通常変数の中身を変えます

通常変数の中身が変わったことにより、条件分岐で全てのマップのイベント内容を変更。人々のセリフやお店の品揃え、イベントの追加や削除などを、一気に実現できるんです。

条件分岐だけでなく、起動条件も同じ。これらを組み合わせれば、ほぼ無限に表現できそうですね!

次回の講座は?

やさしいウディタ講座11はここまで。

ウディタの条件分岐を学ぶというより、変数の使い方を知る講座みたいになってしまいました…。でもとても重要な内容ですから、今回覚えたことは無駄にはならないと思います。

次回「やさしいウディタ講座12:ループを使ってイベント内容を繰り返す」では、ループ(繰り返し)コマンドの使い方について解説します。

「やさしいウディタ講座」- もくじ
※全講座の目次ページはコチラ。