無料のゲーム開発ツール「ウディタ(WOLF RPGエディター)」の基本的な使い方を、初心者さん向けに紹介するこの企画。
今回は、自動移動についてです。イベント発生中に、マップイベントのキャラクターなどを好きな方向へ動かすにはどうすれば良いのか?そのやり方を紹介します。
現在公開中の講座をまとめたページ。「ウディタのことがよくわからない」「簡単な機能から覚えたい」などの初心者さんは、初期の講座から読むのがおすすめです。
公式サイトにはウディタの使い方を詳しく解説している、マニュアルやガイドが公開されています。ウディタを学ぶ際の必須となる教科書です。ぜひ参考にしましょう。
目次
キー操作なしにマップイベントやキャラを移動させるコマンド
例えば、道を塞いでいる人物がいたとします。主人公キャラがその人物に話しかけると、移動して道を通してくれました…。そのようなイベントを作れるのが、今回解説する内容です。
実現させるには、ウディタが用意するイベントコマンド「キャラ動作指定」を利用します。
この「キャラ動作指定」ですが、マップイベントだけでなく、主人公キャラや仲間キャラの自動移動にも使うことが可能。イベントで強制的に動かしたい場合に便利です。
通路を塞ぐ人がどいてくれるイベントをウディタで作る
先程の例で紹介した画像のイベントを、実際にウディタで作ってみましょう!
まずはマップとマップイベントを用意
キャラが1人歩ける程度の通路があるマップを作成。似たようなマップならどんな風に作っても構いません。
マップの基本的な作り方は「やさしいウディタ講座1:マップを作ってみよう」を参考にどうぞ。
作った通路の入り口を塞ぐように、人物のマップイベントを配置。
マップイベントに「通路を塞ぐ人」と名付けてみました。
- わかりやすいイベント名を付けます。ここでは「通路を塞ぐ人」に決定。
- 移動ルートは「動かない」に。
- 起動条件は「決定キーで実行」。話しかけるとコマンドを実行します。
マップイベントの作り方は「やさしいウディタ講座2:人を配置・看板を調べるイベントの作り方 – マップの中に人を配置してみよう」を参考にどうぞ。
コマンド「キャラ動作指定」でマップイベントを動かす
マップイベント「通路を塞ぐ人」で作業します。
画面右側のコマンド欄の空白行をダブルクリック、もしくはコマンドウィンドウ表示をクリック。
最初の演出として、適当なセリフを言わせてみます。
イベントコマンド一覧から「1 文章の表示」を選択。セリフを打ち込んだら入力ボタンをクリック。
続いて、「キャラ動作指定」コマンドを入れます。ここが今回講座のメインです!
先程入力したセリフの下にカーソルを合わせてダブルクリック。右クリックから「挿入ウィンドウを開く」でも、コマンド入力できます。
出てきたイベントコマンド一覧から「H イベント制御」を選択。画面右にたくさんある項目の中から「キャラ動作指定」ボタンをクリック。
「キャラ動作指定」の専用画面が登場しました。
この専用画面でマップイベントの動きをコントロールします。主人公キャラが話しかけた後、通路を塞ぐ人が上に1マス移動して、通してくれる演出にしてみましょう。
プルダウンメニューから「このイベント」を選択。たぶん、最初から指定されていると思います。
ここで動作指定する対象を選択するかたちです。今回は現在作業中のマップイベントそのものを選びましたが、主人公や仲間キャラ、別のマップイベントを選べば、各対象を動かすことも可能です。
上に1マス移動させるので、「移動コマンド」の部分にある上向きの矢印ボタンを1回クリック。
画面左側のコマンド欄に、動作のコマンドが入力されました。
続いて、正面を向かせてみます。移動ではなく向きを変えるだけですので、「方向転換コマンド」を使います。下向きの矢印ボタンを1回クリック。
コマンドが表示されました。
続いて、コマンド欄の下部分に注目。3つのチェック項目が見つかります。
これらは動作設定のオプションみたいな存在です。
今回は1回だけ移動させるイベントを作るので、「動作を繰り返す」のチェックを外します。その他の項目も今回の場合、チェックを外しておきましょう。
ちなみに、「動作完了までウェイト」については講座の最後で、とある調整をするために使います。現時点では項目名だけ覚えておいてください。
ここまで作業し、問題なさそうならOKボタンをクリック。
コマンド欄に「キャラ動作指定」を入力できました。
移動イベント発生を「1回限り」にする
上で作ったコマンドですが、最初に話しかけた後、再び話しかけると同じ動作コマンドが起動してしまいます。不自然な演出になるので、最初に話しかけたときだけ移動するよう制限しましょう。
マップイベント「通路を塞ぐ人」に、別パターンのイベント内容を作ります。
「新規ページ」をクリックし、「ページ2」を作成。グラフィックはページ1と同じ人物で、正面を向いたものを選択。
起動条件の部分も重要。
「決定キーで実行」はページ1と同じで大丈夫です。その下にある、変数を使った起動条件を使うのがポイントです。
最上段にチェックを入れ、「Self0:セルフ変数0が1と同じ」に設定。この作業はページ2だけです。設定するページを間違えないように!
ページ1に画面を切り替えましょう。
コマンド欄一番下の空白行を選択し、右クリックのメニューから「挿入ウィンドウを開く」を選択。タブルクリックでも良いです。
コマンド一覧から「3 変数操作」を選択。
マップイベント「道を塞ぐ人」の「セルフ変数0番に1を代入する」作業です。
このイベント:Self0=1+0
上のように入力すればオッケー。入力ボタンを押して作業は完了。
変数の基本的な使い方は「やさしいウディタ講座5:変数を使ってイベントを変化させよう」を参考にどうぞ。
コマンド欄に変数操作の内容が表示されているのを確認したら、セーブして保存しましょう。
テストプレイで確認
テストプレイのために主人公キャラの初期位置をこのマップにする場合、「やさしいウディタ講座2:人を配置・看板を調べるイベントの作り方 – 主人公キャラを自作マップ上で操作できるようにする」を参考に、作業してみてください。
ゲームが起動したら、「通路を塞ぐ人」に決定キー(Enter)で話しかけます。
セリフを喋った後、上方向へ移動してくれるはずです。
都合が悪い部分を修正
うまくできたように見えますが、このやり方には問題があります。
道を塞ぐ人に対して上方向から話しかけると、主人公キャラが邪魔で道を塞ぐ人は上に移動できません。
いろんな対処法があります。一例を以下で紹介。
主人公キャラが上方向から話しかけられないように、通行不可のマップチップを配置する方法。これなら移動ルートを妨害されません。
別方向へ移動させて道を譲る方法も使えそうですね。どの方向から話しかけられても、これなら問題なし。
もちろん、上の例が正解とは限りません。自分が納得できる対処法を考えてみてくださいね。
移動速度を調整する方法について
通路を塞ぐ人の移動速度は調整可能です。
方法は以下のとおり。好みやゲーム開発上の都合で、いずれかを選んでください。
方法1:マップイベントの移動ルート「移動速度」で調整
プルダウンメニューから速度を選びます。
方法2:「H イベント制御」の「キャラ動作指定」→移動速度で調整
プルダウンメニューから速度を選んだ後、「移動速度を設定」ボタンを押せば、コマンド欄に反映されます。
設定したのに移動速度が変わらない場合は?
上の解説どおりに設定しても、移動速度が変わらない場合があります。
そんなときは「H イベント制御」の「キャラ動作指定」で、「動作完了までウェイト」にチェックを入れてみましょう。
「対象の移動が終わるまで(他の行動を)待機させる」チェック項目ですが、チェックを入れると移動速度の設定を反映してくれます。うまく行かない場合に、ぜひ試してみてください!
次回の講座は?
やさしいウディタ講座25はここまで。
次回の「やさしいウディタ講座26:決まったルートを動き回るキャラを置く」も、マップイベントのキャラを自動で動かす設定についてやります。今回の内容と似ていますが、最初から自動的にマップ内を移動しているキャラを作る感じです。
※全講座の目次ページはコチラ。