RPGツクール2000/システム
■最短ルート移動に関して
(更新:2016/04/30)


最短ルート移動に関する紹介ページです。

RPGツクール2000で設定する事ができる最短ルートの移動処理はいくつかあり、
どの方法も長所短所があります。



☆リアルタイム検索について
このページにある「リアルタイム検索」とは、
ターゲットとなるキャラクターが移動し続けていても、
リアルタイムに最短ルートを検索して移動していくものです。

リアルタイム検索では定期的に並列処理するを使いますが、
この定期的に並列処理するで大量のイベントコマンドを処理したり、
ウェイトを挟まないでラベルの設定繰り返し処理のループ処理を実行しますと、
かなり重い処理落ちが発生します。

そのため「リアルタイム検索ができる」と書いてあっても、
イベントの設定状況によっては、処理落ちが発生する可能性があります。

処理落ちはパソコンの処理能力で変わりますので、
制作しているパソコンの処理能力が高い場合は、
あまり処理落ちを感じないかもしれませんが、
多くのプレイヤーが快適にゲームを楽しんで頂くためには、
極力処理落ちが起きやすいイベントの設定は控えた方が良いでしょう。



☆主人公に近寄る
マップイベントの移動タイプにある「主人公に近寄る」を使う方法です。



設定は非常に簡単ですが、到着地点は主人公のみになります。

イベントの設定難易度 簡単。
処理落ち ほぼ無く、多人数でのリアルタイム検索が可能。
障害物の回避 迂回移動と言った感じの高度な処理はできない。
到着地点 主人公のみ。
事前準備・補足 無し。
使用用途 取りあえず「主人公に近づけば良い」と言った場合。



☆座標の差で移動
両者の座標の差から移動方向を決める方法です。

▼この場合はX座標の方が距離があるので、右に移動します。


処理としては「主人公に近寄る」に近いですが、
こちらの方法では到着地点を主人公以外にもできます。

イベントの設定難易度 比較的簡単。
処理落ち 多少ありますが、多人数でのリアルタイム検索が可能。
障害物の回避 迂回移動と言った感じの高度な処理はできない。
到着地点 指定されたマス(指定されたキャラ位置)。
事前準備・補足 マップごとに独自の移動処理が必要。
使用用途 「主人公に近寄る」では対応できない場合。

【座標の差で移動の設定方法を見る】

*補足*
地形IDの取得などで周囲の地形(通行不可など)を読み取って、
その情報から障害物を回避するイベントを設定する事は一応可能ですが、
数マス先までの簡易的な物しかできない上、処理落ちが発生しやすくなります。
障害物を回避する場合は、☆座標の位置で移動☆1マスずつ検索などの、
別の方法使うと良いでしょう。



☆座標の位置で移動
「X座標5以下→右に移動」
「X座標6〜8→下に移動」
「X座標9以上→左に移動」

と言ったように、現在いるマスの座標によって、移動方向を変える設定方法です。

▼主人公が左下の領域にいる場合の移動処理です。


部屋から部屋へ移動するイメージであり、長距離の移動が可能ですが、
同じ部屋内では「主人公に近寄る」などを併用する必要があり、
基本的に同じ部屋内には障害物を設置する事ができません。

イベントの設定難易度 少々手間がかかる。
処理落ち 多少ありますが、多人数でのリアルタイム検索が可能。
マップ形状が複雑だとイベント実行内容の設定も多くなり、
処理落ちしやすくなる。
障害物の回避 部屋から部屋と言った移動はスムーズだが、
同じ部屋内では主人公に近寄る座標の差で移動を使うので、
細かい障害物の回避は難しい。
到着地点 指定されたマス(指定されたキャラ位置)。
事前準備・補足 マップごとに独自の移動処理が必要。
使用用途 部屋から部屋と言った比較的広い空間を行き来にする時。

【座標の位置で移動の設定方法を見る】



☆監視イベント+主人公がいたマスまで移動する
監視イベント(マップイベント)の視野範囲に主人公を見つけた場合、
その主人公を見つけたマスまで監視イベントが移動します。



障害物があってもスムーズに避けて移動するので、
「主人公に近寄る」よりも確実に主人公がいたマスまで移動します。

また主人公が監視イベントの視野範囲内にいる限り、
主人公までの移動ルートは常に更新されますので、
主人公を見失うまではどこまでも付いて来ます。

主人公を見失っても主人公を最後に目撃したマスまでは移動し続けます。

仕様が「主人公が視野範囲に入ったら追いかける」なので、
視野範囲外の遠くにいる主人公を追いかける事はできません。

なお、到着地点は主人公ではなくマップイベントにする事もできます。

イベントの設定難易度 少々難解であり、初心者向けではない。
処理落ち 多人数でのリアルタイム検索が可能。
但し同時に処理する監視イベントが多かったり、
1体の視野範囲が広かったりすると、
処理落ち度が増します。
障害物の回避 回避可能。但し数歩以内の近距離のみ。
到着地点 視野範囲内の指定したキャラ位置。
事前準備・補足 障害物を判断するための地形IDの設定が必須。
使用用途 「主人公に近寄る」よりも確実に主人公を追って欲しい時。

【監視イベント+主人公がいたマスまで移動する】



☆1マスずつ検索
出発地点と到着地点から1マスずつ検索して、最短の移動ルートを検索する方法です。

変数を大量に使用する上、イベント処理がかなり複雑なので、
ちょっとした設定ミスによって、最悪フリーズを起こす可能性があり、
ツクールの初心者が手を出してはいけないレベルであると言えます。

イベントの設定難易度 かなり難しい。
処理落ち 最短ルート検索中は処理落ちが発生するので、
リアルタイム検索には不向き。
障害物の回避 障害物を避けて最短ルートで移動する事ができる。
到着地点 指定されたマス(指定されたキャラ位置)。
事前準備・補足 障害物を判断するための地形IDの設定が必須。
変数を大量に使用します。
使用用途 リアルタイム検索を必要としない作品。
両者の距離が20マス以内と短い場面。

【1マスずつ検索の設定方法を見る】



◎関連ページ
 ●最短ルート移動に関して
 ○座標の差で移動
 ┣○座標の位置で移動
 ┗
○1マスずつ検索


YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール