※当サイトはプロモーションが含まれています

イスを動かして上に乗るイベントの作り方【RPGツクールMV/MZ】

2019/11/30ゲーム制作,創作

椅子イベントの 作り方 ツクールMV/MZ向け
悩んでいる人のイラスト
悩んでいる人

私はRPGツクールで「謎解き要素のある脱出ゲーム」を作りたいと考えています。
そこで、脱出ゲームによくある「イスを動かしてその上に乗るイベント」を作りたいです。
でも、その作り方がよく分かりません。
このイベントの作り方を分かりやすく教えてほしいです!

こんなお悩みを解決します。

article この記事の内容

  • イスを動かして上に乗るイベントの作り方を、画像付きでわかりやすく解説
person
この記事の筆者
ドッド工房のアイコン
ドッド工房
ゲーム開発歴15年。ゲーム開発の講師経験あり。20作品ゲームをリリースし、45万DL&Play突破。ゲームコンテストで7回以上受賞。インディーゲームも発売。ツクールやUnity等を使用。

今回は、「イスを動かしてその上に乗れるようにするイベント」の作り方を画像付きで解説します。
解説はRPGツクールMV/MZユーザー向けですが、それ以前のシリーズでも再現可能な方法でお伝えします。

ドッド工房のふきだし
ドッド工房

RPGツクールを使い始めたばかりだと、どうしても「作るのが難しいもの」と感じてしまうかもしれません。
でも実は、作り方さえ覚えてしまえばそんなに難しいものではありません。

この記事を読み終える頃には、あなたはサクサクと「イスを動かして乗るイベント」が作れるようになりますよ。
なので、安心して読み進めていってください!

イスを動かして上に乗るイベントの作り方【RPGツクールMV/MZ】

椅子を動かすイベントは けっこう簡単にツクれる!

まずは、全体像を把握していただきたいので、どんな感じの構成で作るのかお伝えします。
イスを動かして上に乗るイベントは、下記のような構成で作ります。

  • マップイベントの1ページ目
    • イスを動かす前の位置情報を取得
    • イスを動かす
    • イスを動かした後の位置情報を取得
    • イスの位置が変わっていたら引きずる音を再生
    • イスが目的の位置まで押されたかを確認
  • マップイベントの2ページ目
    • イスの上に乗る(乗っているように見せる)
  • マップイベントの3ページ目
    • 左、右、下を向いたときに飛び降りる
    • ウェイトで処理落ちを軽減させる
ドッド工房のふきだし
ドッド工房

つまり、1ページ目で動かし、2ページ目で上に乗り、3ページ目で降りるといった構成です。
1つのマップイベントだけで完結するので、非常にシンプルですね。

各ページの実行内容の作り方は、あとで順番に解説していきます。
確実に知識と技術を身に着けられるよう、実際に作りながら読み進めていってください。

ステップ①:下準備としてマップ・スイッチ・変数を用意しよう

まずは、イベントを作る前の下準備が必要です。
下の画像のように、イベントを置くためのマップを用意してください。

イベントを作るマップを用意する
イベントを作るマップを用意する(※RPGツクールMVのエディタ画面)

次に、今回のイベントに使うスイッチと変数を用意します。
下の2枚の画像のように、スイッチと変数をそれぞれ2つずつ作成してください。

スイッチを2つ用意しよう
スイッチを2つ用意しよう
変数を2つ用意しよう
変数を2つ用意しよう

さて、準備はできましたか?
それではイスを動かして上に乗るイベントを作っていきましょう!

ステップ②:マップイベントの1ページ目(イスを動かす)を作ろう

まずは、マップイベントの1ページ目から作っていきます。
下の画像のように、マップイベントを作成してください。

マップイベント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ページ目を作っていきます。
先ほどと同じように、下の画像のようなイベントページを作成してください。

マップイベント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ページ目を作っていきます。
下の画像のように、イベントページを作成してください。

マップイベント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ツクールMVのテストプレイ画面)
ドッド工房のふきだし
ドッド工房

実際に動かしてみて、上の画像のような感じで乗れていれば問題ありません。

ですが、この画像だとプレイヤーが若干浮いているように見えるかと思います。
でもこれは、キャラクター画像と木箱の画像のせいです。

これに限っては、イベントではなく画像を直接修正する必要があります。

もう少し奥行きのあるイス画像を用意したり、三頭身の歩行グラフィックを利用するなど、対策が必要です。

まとめ

さっそく作ってみよう!

今回は、イスを動かして上に乗るイベントの作り方を画像付きで詳しく解説しました。

ドッド工房のふきだし
ドッド工房

実際に一緒に作ってみてどうでしたか?
難しかったですか?
おそらく、思ったよりも簡単に作れたかと思います。

ちなみに、今回作ったイベントを応用すれば、穴から鉄球を落とすような要素を作ることもできます。
また、脱出ゲームに限らず、パズルゲームなどの作成も可能になりますよ。

これからもRPGツクールを通して、ゲームを作る面白さを体験してください。
そして、もっとRPGツクールMV/MZを使いこなしたい場合は、コモンイベントを上手に活用してみましょう。

下記の記事で、ゲームの拡張性を高めるコモンイベントの使い方を解説しています。
効率よくゲームを作りたい場合はぜひご覧になってください。
»拡張性を高めるコモンイベントの使い方【RPGツクールMV/MZ】