RPGツクール2000/システム【サイトトップへ戻る】
■最短ルート移動に関して
(更新:2020/07/05)


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

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

ショートカット
■リアルタイム検索について
■最短ルート移動:主人公に近寄る
■最短ルート移動:座標の差で移動
■最短ルート移動:座標の位置で移動
■最短ルート移動:監視イベント+主人公がいたマスまで移動する
■最短ルート移動:1マスずつ検索


  
■リアルタイム検索について

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

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

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



なお、処理落ちしやすいイベント設定を行ったとしても、
制作者のパソコンの処理能力によっては、処理落ちを感じない事もあります。

しかしプレイヤーのパソコンでは処理落ちが発生する可能性がありますので、
出来る限り処理落ちが発生しにくいイベント設定に行った方が良いでしょう。

【処理落ちに関するページを開く】


▲トップへ戻る▲


  
■最短ルート移動:主人公に近寄る

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



設定は非常に簡単ですが、移動目標(ゴール地点)は「主人公のみ」になります。

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


▲トップへ戻る▲


  
■最短ルート移動:座標の差で移動

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

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


処理としては「主人公に近寄る」に近いですが、こちらの方法では、
移動目標(到着地点)を「主人公以外(マップイベントなど)」にする事もできます。

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

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



*補足*

地形IDの取得などで周囲の地形(通行不可など)を読み取って、
その情報から障害物を回避するイベントを設定する事は一応可能ですが、
数マス先までの簡易的な物しかできない上、処理落ちが発生しやすくなります。

障害物を回避する場合は、
■座標の位置で移動■1マスずつ検索などの別の方法使うと良いでしょう。


▲トップへ戻る▲


  
■最短ルート移動:座標の位置で移動

X座標5以下 右に移動
X座標6〜8 下に移動
X座標9以上 左に移動
と言ったように、現在いるマスの座標によって、移動方向を変える設定方法です。

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


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

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

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


▲トップへ戻る▲


  
■最短ルート移動:監視イベント+主人公がいたマスまで移動する

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



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

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

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

障害物が無い正面に主人公が居ても、視野の範囲外にいる場合は主人公には近付きません。

なお、移動目標(到着地点)を「主人公以外(マップイベントなど)」にする事もできます。

イベントの設定難易度 少々難解であり、初心者向けではない。
処理落ち 多人数でのリアルタイム検索が可能。
但し同時に処理する監視イベントが多かったり、
1体の視野範囲が広かったりすると、処理落ちしやすくなる。
障害物の回避 視野の範囲内にある障害物のみ回避可能。
移動目標(到着地点) 視野の範囲内にいる指定したキャラ。
事前準備・補足 障害物を判断する地形IDの設定が必要。
使用用途 指定キャラを追いかける処理が欲しい場合。

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


▲トップへ戻る▲


  
■最短ルート移動:1マスずつ検索

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

他の処理方法とは異なり、
かなり長距離でも障害物を避けながら最短ルートで移動する事ができます。



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

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

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


▲トップへ戻る▲



◎関連ページ

●最短ルート移動に関して
┣○座標の差で移動
┣○座標の位置で移動
┣〇監視イベント+主人公がいたマスまで移動する
┗○1マスずつ検索

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