【RPGツクールMV】変数のX座標とY座標ってどう使うの?【講座】

RPGツクールで変数の操作を触っていると「マップX」や「マップY」という項目が出てくると思います。

今回はこちらの活用法として次の2点を紹介していこうと思います。

  • 特定の場所にオブジェクトを持って行くと起動するイベント
  • 今いる場所を記録して、別の場所から記録した場所へ戻ってくる仕組み

実際に私は2つ目の使い方をよくやっていて、ダンジョンからワールドマップへ戻るアイテムを作っています。

覚えると便利なので是非一緒に作ってみてください!

それでは早速1つ目の解説から始めましょう。

特定の場所にオブジェクトを持って行くと起動するイベント

X座標とY座標の使い道01

例えば謎解き要素として「ボタンの上に重い物を乗せて扉を開く」というものを見た事はありませんか?

一見作るのが難しそうな仕組みですが、変数のX座標、Y座標を使えば簡単に作れてしまうんです!

マップと必要なイベントを用意

まずはマップを用意します。

今回は練習なので横17、縦13と小さめに作ってみましょう。

マップが用意出来たら次はイベントを用意します。

まず必要なイベントは「開かない扉」「扉を開ける為のスイッチ」「スイッチの上に乗せる物体」の3つです。

開かない扉

適当な所にイベントを配置し、扉の画像を設定します。

開かない扉なので実行内容は空のままで問題ありませんが、文章の表示で「開かない」や「仕掛けを解かないと開かないようだ」などヒントを入れてあげると良いですね。

ただ、このままでは永遠に扉の向こうへ行けないので、ボタンが押されて扉が開いているバージョンを作ってあげましょう。

とはいっても、別のイベントを用意するわけではありません。

扉のイベントエディターの左上に「1」とあると思います。

ツクールのイベントはページを増やす事ができ、条件を満たした場合に2ページ目の内容が実行されるという仕組みになっているのです。

この2ページ目に開いている扉を設定してあげれば良いというわけですね。

ページの増やし方はイベントエディター右上の「EVページ作成」を押すだけです。

これで新しいページが作られます。

このページはどう表現するかで作り方も変わってきますが、今回は練習という事で画像も実行内容も設定しない状態にしておきましょう。

ここで重要なポイントがあります。

イベントエディターの左上に「出現条件」という項目があると思います。

こちらのスイッチ(1つ目のみでOK)にチェックを入れ、任意のスイッチ(仮に扉オープンと命名)を設定してください。

こうする事で「扉オープンのスイッチがオンの時」にこのページが実行される設定になります。

もし設定し忘れると無条件で扉が開いている状態になってしまうので気を付けてくださいね。

設定が終わったら扉の準備はOKです。

扉を開けるスイッチ

適当な場所にスイッチ(ボタン)の画像を設定したイベントを置きます。

実行内容は空で大丈夫ですが、左下のオプションは「向き固定」と「すり抜け」にチェックを入れ、プライオリティは「通常キャラの下」に設定しておきましょう。

これをやっておかないとイベントの画像が違うものになったり、当たり判定ができてイベントの上にオブジェクトを乗せる事が出来なくなります。

次に2ページ目を用意して画像を上に乗せるオブジェクトと同じ物に設定します。

出現条件は扉と同じスイッチを設定しましょう。

スイッチの上に乗せる物体

適当な場所にイベントを設置し、岩の画像を設定します。

次に、この岩をスイッチの場所まで動かすのに必要な処理として実行内容に移動ルートの設定を入れましょう。

移動ルートの設定はイベントコマンドのタブ2にあります。

ルートの設定は「プレイヤーから遠ざかる」を1つ入れ、完了までウェイトにチェックを入れるだけでOKです。

また、オプションやプライオリティなどはそのままで大丈夫ですが、プレイヤーが岩にぶつかったら移動するようにしたいので、トリガーを「プレイヤーから接触」にしておきましょう。

最後に2ページ目に空のページを作って出現条件を扉オープンにしておきます。

これをやらないと、違うマップから戻ってきた時にこのイベントが元の場所で復活してしまいます。

並列実行で岩の現在地を取得しよう

X座標とY座標の使い道02

さて、3つのイベントを用意しましたが、実はこれだけでは何も起こりません。

そもそも今回のキーワードであるX座標もY座標も出てきていませんからね!

という事で次は変数を使って岩オブジェクトの現在地を取得する処理を作っていきます。

任意の場所(プレイヤーが侵入できない場所、左上の端など)に新しくイベントを用意します。

ここがポイントで、トリガーは必ず並列処理にしてください。

並列処理にする事で他のイベントやプレイヤーが行動している間も同時進行で処理をし続けてくれます。

間違えて自動実行にしてしまうと動かなくなるので必ず並列実行にしてください!

次に実行内容で変数の操作を呼び出し、任意の変数に「オブジェクト座標X」など適当な名前を付けます。

次に下の方にオペランドという項目があると思うので、ゲームデータからキャラクター「岩(画像ではEV002):マップX」を代入してください。

同じように座標Yも作りましょう。

次に条件分岐を設定するのですが、ここで1つ確認すべき事があります。

それは、この岩オブジェクトを乗せるスイッチが座標的に何処にあるのか、という事です。

これは簡単に確認でき、一度イベントエディターをOKを押して閉じた後、スイッチのイベントにカーソルを乗せます。

X座標とY座標の使い道03

すると右下にこのような数字が出てると思います(PC版ツクールMVの場合)

この12,6がイベントの座標で12がX(横)6がY(縦)となるので、これを条件分岐で使用していきます。

まずオブジェクト座標Xが12と同じ時という条件分岐を作り、その中にY座標も同じように作ります。

いずれも「それ以外のとき」にチェックを入れておいてください。

そしてY座標の条件分岐の中に扉オープンのスイッチをオンにする処理を入れます。

これで岩オブジェクトがX12,Y6の座標に来た時にスイッチがオンになります。

ウェイトは無くても良いですが、置く瞬間がかなり一瞬の出来事になるので余韻を持たせる為に入れています。

最後に2ページ目を追加し、岩オブジェクトと同じく空のページを作って出現条件を扉オープンにしておきます。

これで特定の場所にオブジェクトを持って行くと起動するイベントの完成です!


<スポンサードリンク>

今いる場所を記録して、別の場所から記録した場所へ戻ってくる仕組み

X座標とY座標の使い道04

こちらは私の作品「ソルシエール年代記~時を越えし者たち編~」のワールドマップの画像です。

本作ではダンジョンの途中でもワールドマップへ戻る事のできる「帰還のマップ」というアイテムがあり、使用すると今いたダンジョンのアイコン上に移動するという仕組みになっています。

(例えばヘルバの森から出たら左下のアイコンの上にキャラクターが出現します)

この処理も先ほどと同じように作る事が出来るんです!

コモンイベント内に変数の処理を入れる

X座標とY座標の使い道05

今回はコモンイベント内に処理を作っていきます。

ダンジョン突入時の場所移動の前に入れても良いのですが、コモンイベントの方が何かと便利なのでおススメです。

先ほどの処理と同じようにX座標とY座標の変数を作りますが、今回はゲームデータのキャラクターから「プレイヤー」を選んでください。

また、今回はワールドマップの「マップID」も使用するので、ゲームデータの「その他」から「マップID」を取得する変数も作りましょう。

この3つの操作をする事で「今いるマップのIDの、今いるX座標、Y座標」がそれぞれの変数に代入されます。

このコモンイベントをダンジョンへ場所移動する前に呼び出す事で、現時点のマップや座標が記録されるというわけです。

場所移動の処理で変数を呼び出す

X座標とY座標の使い道06

先ほどのコモンイベントの下に場所移動用の処理を作っていきましょう。

イベントコマンドから場所移動を呼び出します。

恐らく普段の場所移動では直接指定を使う事が殆どだと思いますが、今回は下の変数で指定を使います。

IDはマップIDの事なので、マップIDを取得させた変数を選びます。

同じようにXとYも選びましょう。

こうする事で先ほど記録されたマップのX、Yの位置にキャラクターを移動させる事が出来ます。

X座標とY座標の使い道07

本作ではアイテムの効果として作っているものなので、誤爆を防ぐ為に選択肢で移動するかどうかを確認しています。

(赤線は本作独自の処理なので、通常は必要のない処理です)

この処理を組み込んだコモンイベントをアイテムの使用効果から呼び出す事で、変数によって記録された場所へいつでも何処からでも移動できる便利アイテムが作れます。

まとめ

変数におけるX座標、Y座標は使い方さえわかってしまえば様々な用途で役に立ちます。

また、イベントの位置設定という別のコマンドでも位置を変数で指定する事が出来るので、プレイヤーがいる場所に突然物を落とすみたいな演出も出来るかもしれませんね。

今回紹介した使い方だけでも十分に役立つと思うので是非ご活用ください!

それでは、また次回_( _´ω`)ノシ