ウディタで青鬼風鬼ごっこ作り

自分も忘れそうになるので、自分のためにもnoteに書いておきますね。真似して使ってみてください。



〇必要な変数

2つほど使います。通常変数、コモン変数、予備変数どれでも大丈夫です。仮に変数00を「鬼ごっこレベル」、変数01「鬼ごっこカウント」と命名して説明します。



〇コモン編集。

場所はどこでも。

起動条件「並列実行」 、変数「鬼ごっこレベル」が「1」「以上」の時

以下コマンド

■ループ開始
|■ウェイト:α フレーム
|■変数操作: V1[鬼ごっこカウント] = V1[鬼ごっこカウント] - 1
|■条件分岐(変数): 【1】 V1[鬼ごっこカウント] が 0 と同じ
|-◇分岐: 【1】 [ V1[鬼ごっこカウント] が 0 と同じ ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
■ウェイト:1 フレーム

*少し解説

ループでカウントダウンします。ウェイト数は任意。カウントが0になったら、ループが中断し、以降は1フレームウェイトの並列イベントになります。ウェイト入れないとエラーが起こるので注意。



〇マップイベント

●鬼ごっこ起動イベント

起動条件は任意。イベントに合わせて作ってください。

以下コマンド

■変数操作: V0[鬼ごっこレベル] = 0 + 1
■変数操作: V1[鬼ごっこカウント] = 0 + α

*少し解説

「鬼ごっこレベル」の変数を1にしたことで、コモンイベントが発動します。加えて「鬼ごっこカウント」の変数をいじってください。数値は任意です。長ければ長いほど、鬼の登場時間が伸びます。

あと必須ではないですが、画面エフェクトを加えて赤くしたり、BGMを変更したりするとホラーっぽくなりますね。後述のイベントと干渉する場合があるのでその場合は「イベントの一時消去」を使って制御してください。


●マップ移動イベント

・ページ1

起動条件「プレイヤー接触」、変数「鬼ごっこレベル」が「0」と同じ

以下コマンド

■場所移動:主人公 ▲マップID?[???] X:?? Y:?? [トランジションなし]

*解説

鬼ごっこ中でない時のマップ移動。ここは特に言うことはない。

・ページ2

起動条件「プレイヤー接触」、変数「鬼ごっこレベル」が「1」以上。

以下コマンド

■条件分岐(変数): 【1】 V1[鬼ごっこカウント] が 0 と同じ
-◇分岐: 【1】 [ V1[鬼ごっこカウント] が 0 と同じ ]の場合↓
|■変数操作: V0[鬼ごっこレベル] = 0 + 0
|■
-◇上記以外
|■変数操作: V1[鬼ごっこカウント] = V1[鬼ごっこカウント] + 1
|■変数操作: V0[鬼ごっこレベル] = 0 + 1
|■
◇分岐終了◇
■場所移動:主人公 ▲マップID?[???] X:? Y:? [トランジションなし]

*解説

最初の条件分岐で鬼ごっこカウントを確認。もしカウントが0になっているときは鬼ごっこを終わらせるために「鬼ごっこレベル」を0にしている。もし、まだ継続中ならマップ移動のペナルティとして「鬼ごっこカウント」を加算している。(ここは任意、加算しなくてもよい。)

鬼登場イベントで画面色やBGMを変更している人は分岐中にそれを直すコマンドを追加するとよい。


●マップ移動後に鬼が追いかけてくるイベント

・ページ1

起動条件「並列実行」、変数「鬼ごっこレベル」が「1」と同じ

以下コマンド

■変数操作+: このEvのセルフ変数0 = 主人公 の X座標(標準)
■変数操作+: このEvのセルフ変数1 = 主人公 の Y座標(標準)
■ウェイト:α フレーム
■場所移動:このEv X:このEvのセルフ変数0 Y:このEvのセルフ変数1 [トランジションなし]
■変数操作: V0[鬼ごっこレベル] = 0 + 2

*解説

まず変数操作+でマップ移動したプレイヤー座標を記録する。その後任意ウェイト後、このイベント自体を場所移動させる。移動先は予め記録した主人公の移動した座標。(ウェイト中にプレイヤーが移動しているので同じ場所には移動しない。)最後に「鬼ごっこレベル」を「2」に変更。

・ページ2

起動条件「イベント接触」、変数「鬼ごっこレベル」が「2」と同じ

キャラチップは追いかける鬼を用意。移動は主人公を追いかける。

イベント内容は自由。ここで「鬼に捕まった時のイベント」を打てばよい。僕は画面を真っ暗にしてゲームオーバーになるようにしている。



〇少し流れを説明

「鬼ごっこ起動イベント」により一連の流れがスタートします。数秒後鬼が任意の場所に出現します。(上の説明だけだとイベント起動の瞬間にプレイヤーがいた座標に出現する)。そしてコモンイベントによりカウントダウンされます。

「鬼ごっこカウント」が0になった状態でマップ移動をすると、鬼ごっこイベントは終了します。逆に1以上の時に移動するとカウント数が加算され、また逃げる時間が増えていきます。

多分青鬼と同じシステムになると思います。後はここからアレンジしてみてください。

1つだけ。ウディタの並列イベントはメニューを開いても動きます。なのでこのままだと、鬼登場後にメニューを開きっぱなしにすることで鬼ごっこを終わらせる「ズル」ができます。対応としてはキー入力でメニューを開けなくする技があります。(メニューを開けなくすればセーブもできなくなるし。)


次はどうするか…ロッカーに隠れるイベントの話をしますかね(適当)


ではでは。





いいなと思ったら応援しよう!