イスを動かして上に乗るイベントの作り方【RPGツクールMV/MZ】
私はRPGツクールで「謎解き要素のある脱出ゲーム」を作りたいと考えています。
そこで、脱出ゲームによくある「イスを動かしてその上に乗るイベント」を作りたいです。
でも、その作り方がよく分かりません。
このイベントの作り方を分かりやすく教えてほしいです!
こんなお悩みを解決します。
この記事の内容
- イスを動かして上に乗るイベントの作り方を、画像付きでわかりやすく解説
今回は、「イスを動かしてその上に乗れるようにするイベント」の作り方を画像付きで解説します。
解説はRPGツクールMV/MZユーザー向けですが、それ以前のシリーズでも再現可能な方法でお伝えします。
RPGツクールを使い始めたばかりだと、どうしても「作るのが難しいもの」と感じてしまうかもしれません。
でも実は、作り方さえ覚えてしまえばそんなに難しいものではありません。
この記事を読み終える頃には、あなたはサクサクと「イスを動かして乗るイベント」が作れるようになりますよ。
なので、安心して読み進めていってください!
イスを動かして上に乗るイベントの作り方【RPGツクールMV/MZ】
まずは、全体像を把握していただきたいので、どんな感じの構成で作るのかお伝えします。
イスを動かして上に乗るイベントは、下記のような構成で作ります。
- マップイベントの1ページ目
- イスを動かす前の位置情報を取得
- イスを動かす
- イスを動かした後の位置情報を取得
- イスの位置が変わっていたら引きずる音を再生
- イスが目的の位置まで押されたかを確認
- マップイベントの2ページ目
- イスの上に乗る(乗っているように見せる)
- マップイベントの3ページ目
- 左、右、下を向いたときに飛び降りる
- ウェイトで処理落ちを軽減させる
つまり、1ページ目で動かし、2ページ目で上に乗り、3ページ目で降りるといった構成です。
1つのマップイベントだけで完結するので、非常にシンプルですね。
各ページの実行内容の作り方は、あとで順番に解説していきます。
確実に知識と技術を身に着けられるよう、実際に作りながら読み進めていってください。
ステップ①:下準備としてマップ・スイッチ・変数を用意しよう
まずは、イベントを作る前の下準備が必要です。
下の画像のように、イベントを置くためのマップを用意してください。
次に、今回のイベントに使うスイッチと変数を用意します。
下の2枚の画像のように、スイッチと変数をそれぞれ2つずつ作成してください。
さて、準備はできましたか?
それではイスを動かして上に乗るイベントを作っていきましょう!
ステップ②:マップイベントの1ページ目(イスを動かす)を作ろう
まずは、マップイベントの1ページ目から作っていきます。
下の画像のように、マップイベントを作成してください。
設定項目 | 設定内容 |
---|---|
画像 | イスや木箱などの適当なグラフィックでOK |
オプション | 「すり抜け」にチェックが入っていなければOK |
自律移動 | 「タイプ:固定」になっていればOK |
プライオリティ | 通常キャラと同じ |
トリガー | プレイヤーから接触 |
それでは、実行内容を作成していきましょう。
実行内容①:イスを動かす前の位置情報を取得
下の画像のように、実行内容を作成してください。
なお、注釈部分は作成しなくても構いません。(一応作っておくと、あとでメンテナンスがしやすくなります)
◆注釈:--------------------------------------------------------
◆注釈:イスを動かす前の位置情報を取得
◆注釈:--------------------------------------------------------
◆変数の操作:#0001 動かす前のイスの位置 = このイベントのマップX
◆変数の操作:#0001 動かす前のイスの位置 *= 1000
◆変数の操作:#0001 動かす前のイスの位置 += このイベントのマップY
これは、「動かす前のイス」の座標情報を取得し、1つの変数にまとめる処理です。
1つの変数にまとめることで、あとあと管理がしやすくなるほか、後の処理の記述も簡単になります。
実行内容②:イスを動かす
続いて、下の画像のように実行内容を追加していきましょう。
◆注釈:--------------------------------------------------------
◆注釈:イスを動かす
◆注釈:--------------------------------------------------------
◆移動ルートの設定:このイベント (飛ばす)
: :◇プレイヤーから遠ざかる
◆ウェイト:1フレーム
イスは「プレイヤーから遠ざかる」で移動させます。
この時、オプションの「移動できない場合は飛ばす」には必ずチェックを入れてください。
また、1フレームのウェイトも、次の実行内容を正しく処理させるのに重要です。
実行内容③:イスを動かした後の位置情報を取得
同じく、下の画像のように実行内容を追加します。
◆注釈:--------------------------------------------------------
◆注釈:イスを動かした後の位置情報を取得
◆注釈:--------------------------------------------------------
◆変数の操作:#0002 動かした後のイスの位置 = このイベントのマップX
◆変数の操作:#0002 動かした後のイスの位置 *= 1000
◆変数の操作:#0002 動かした後のイスの位置 += このイベントのマップY
これは、「動かした後のイス」の座標情報を別の変数にまとめる処理です。
実行内容①をコピーペーストし、使用する変数だけを変えればすぐに作成できます。
実行内容②の1フレームのウェイトは、この情報を正しく取得するために必要な猶予時間だったというわけです。
実行内容④:イスの位置が変わっていたら引きずる音を再生
イスを引きずる時に鳴る音を再生させる処理です。
下の画像のように、実行内容を追加してください。
◆注釈:--------------------------------------------------------
◆注釈:イスの位置が変わっていたら引きずる音を再生
◆注釈:--------------------------------------------------------
◆条件分岐:動かした後のイスの位置 ≠ 動かす前のイスの位置
◆SEの演奏:Push (50, 100, 0)
◆
:分岐終了
これは、実行内容①と③で取得した変数の値を比較して、イスを動かせたかを確認しています。
そして、イスの位置が変わっていれば、指定した音を再生させます。
ちなみに、位置が変わっていなければ音は再生されません。
実行内容⑤:イスが目的の位置まで押されたかを確認
最後に、イスが指定の位置まで移動したかを確認する処理の作成です。
これも下の画像のように、実行内容を追加してください。
◆注釈:--------------------------------------------------------
◆注釈:イスが目的の位置まで押されたかを確認
◆注釈:--------------------------------------------------------
◆条件分岐:動かした後のイスの位置 = 13004
◆スイッチの操作:#0001 イスの上に乗れる = ON
◆
:分岐終了
これは、実行内容③で取得した変数の値が、目的地の座標情報の値と一致しているかを確認しています。
今回は、目的地の座標を(13,4)としました。(X座標が13、Y座標が4)
なので、値が13004(=13×1000+4)になっていれば、目的地まで動かしたと判定できます。
あとは、マップイベントの2ページ目を呼び出せるようにするため、スイッチ0001をONにしてフラグを立てます。
1ページ目の実行内容の作成はこれで完了です。
ステップ③:マップイベントの2ページ目(イスの上に乗る)を作ろう
次は、マップイベントの2ページ目を作っていきます。
先ほどと同じように、下の画像のようなイベントページを作成してください。
設定項目 | 設定内容 |
---|---|
出現条件 | 1ページ目の実行内容⑤で指定したスイッチがONの場合 |
画像 | 1ページ目と同じでOK |
オプション | 1ページ目と同じ |
自律移動 | 1ページ目と同じ |
プライオリティ | 1ページ目と同じ |
トリガー | 決定ボタン |
それでは、2ページ目の実行内容を作成していきますよ。
実行内容:イスの上に乗る(乗っているように見せる)
2ページ目の実行内容はこれだけです。
下の画像と同じようになるよう、作成してください。
◆注釈:--------------------------------------------------------
◆注釈:イスの上に乗る(乗っているように見せる)
◆注釈:--------------------------------------------------------
◆場所移動:MAP001 (13,3) (向き: 上)
◆スイッチの操作:#0002 イスの上に乗っている = ON
イスの上に乗っているように見せるため、プレイヤーにはイスの1マス上に場所移動させています。
つまり、イスがある座標が(13,4)なので、プレイヤーを(13,3)に場所移動させることになります。
あとは、マップイベントの3ページ目を読み込めるようにするため、スイッチ0002をONにします。
これで2ページ目の実行内容の作成は完了です。
ステップ④:マップイベントの3ページ目(イスから降りる)を作ろう
最後に、マップイベントの3ページ目を作っていきます。
下の画像のように、イベントページを作成してください。
設定項目 | 設定内容 |
---|---|
出現条件 | 2ページ目の実行内容で指定したスイッチがONの場合 |
画像 | 1ページ目と同じでOK |
オプション | 1ページ目と同じ |
自律移動 | 1ページ目と同じ |
プライオリティ | 通常キャラの下 |
トリガー | 並列処理 |
完成まであと少しです。
気を抜かずに3ページ目の実行内容を作成していきましょう。
実行内容①:左、右、下を向いたときに飛び降りる
プレイヤーの向きが変わったら、イスから飛び降りるという処理です。
下の画像のように実行内容を作成してください。
◆注釈:--------------------------------------------------------
◆注釈:左、右、下を向いたときに飛び降りる
◆注釈:--------------------------------------------------------
◆条件分岐:プレイヤーが左を向いている
◆移動ルートの設定:プレイヤー (ウェイト)
: :◇ジャンプ:-1, +1
◆ラベルジャンプ:降りた
◆
:分岐終了
◆条件分岐:プレイヤーが右を向いている
◆移動ルートの設定:プレイヤー (ウェイト)
: :◇ジャンプ:+1, +1
◆ラベルジャンプ:降りた
◆
:分岐終了
◆条件分岐:プレイヤーが下を向いている
◆移動ルートの設定:プレイヤー (ウェイト)
: :◇ジャンプ:+0, +2
◆ラベル:降りた
◆スイッチの操作:#0002 イスの上に乗っている = OFF
◆
:分岐終了
これは、イスから飛び降りるように見せるため「ジャンプ」を利用しています。
イスから降りたら、再度2ページ目を呼び出せるようにするため、スイッチ0002をOFFにします。
なお、この時にラベルジャンプを利用することで、スイッチの管理が1か所で済むようになります。
実行内容②:ウェイトで処理落ちを軽減させる
いよいよこれで最後です。
下の画像のように、実行内容を追加してください。
◆注釈:--------------------------------------------------------
◆注釈:ウェイトで処理落ちを軽減させる
◆注釈:--------------------------------------------------------
◆ウェイト:1フレーム
どうしてこのウェイトを入れないといけないのか?
その理由は、繰り返し処理による「処理落ち」を軽減させる必要があるためです。
RPGツクールにおける並列処理では、実行内容が繰り返し読み込まれます。
これが処理落ちの原因となります。
もし、1フレームでも動作が重いと感じる場合は3フレームまで増やしてもOK。
作れたらテストプレイで動作確認をしよう
さて、以上で「イスを動かして上に乗るイベント」は完成です!
試しにテストプレイで動作確認をしてみましょう。
実際に動かしてみて、上の画像のような感じで乗れていれば問題ありません。
ですが、この画像だとプレイヤーが若干浮いているように見えるかと思います。
でもこれは、キャラクター画像と木箱の画像のせいです。
これに限っては、イベントではなく画像を直接修正する必要があります。
もう少し奥行きのあるイス画像を用意したり、三頭身の歩行グラフィックを利用するなど、対策が必要です。
まとめ
今回は、イスを動かして上に乗るイベントの作り方を画像付きで詳しく解説しました。
実際に一緒に作ってみてどうでしたか?
難しかったですか?
おそらく、思ったよりも簡単に作れたかと思います。
ちなみに、今回作ったイベントを応用すれば、穴から鉄球を落とすような要素を作ることもできます。
また、脱出ゲームに限らず、パズルゲームなどの作成も可能になりますよ。
これからもRPGツクールを通して、ゲームを作る面白さを体験してください。
そして、もっとRPGツクールMV/MZを使いこなしたい場合は、コモンイベントを上手に活用してみましょう。
下記の記事で、ゲームの拡張性を高めるコモンイベントの使い方を解説しています。
効率よくゲームを作りたい場合はぜひご覧になってください。
»拡張性を高めるコモンイベントの使い方【RPGツクールMV/MZ】