RPGツクール2000/システム【サイトトップへ戻る】 最短ルート移動 ■座標の位置で移動 (更新:2020/07/05) 出発地点と到着地点の座標の位置から移動方向を決定します。
なお、最短ルート移動にはいくつかの設定方法があります。 詳しくは一覧のページをご覧ください。 ■特徴とサンプル この座標の位置で移動は、マップ内をいくつかの部屋に区切り、 その部屋から部屋へと移動させて到着地点に近づける処理になります。 出発地点と到着地点の両者が同じ部屋内にいる場合は、 「主人公に近寄る」や「座標の座で移動」など、別の移動処理が必要になります。
サンプルには、別のマップまで敵が追いかけて来るが設定されており、 主人公を追いかけて2つのマップをイベントが行き来します。 ▲トップへ戻る▲ ■処理構造の説明 マップ内をいくつかの部屋で区切り、その部屋ごとに行き来させる処理になります。 例えば下図の場合、3つの部屋に仕切る事ができます。 「部屋1」「部屋2」「部屋3」で分けた場合、 両者がいるそれぞれの部屋の場所に合わせて、以下のように移動させます。
「近寄る」の処理は、主人公が到着地点の場合は「主人公に近寄る」。 主人公以外が到着地点の場合は、別の最短ルート処理の「座標の差で移動」を使います。 マップを作成する場合、通り道になるマスには極力障害物を置かないようにしてください。 あまり細かい設定を行うとイベント設定が巨大化し、処理落ちが発生しやすくなります。 基本的に部屋単位での最短ルート移動になるため、 両者がいる位置によっては、最短ルートとは言えない場合もあります。 例えば下図の場合、最短ルートは上ルートになりますが、 「この部屋からこの部屋までの移動は下ルート」と設定されている場合は、 少々遠回りの下ルートになります。 このような問題を改善するには、もっと細かい部屋割りにしたり、 部屋の中にいる座標によって移動ルートを変えたりする方法が有効です。 但し、あまりに細かく設定し過ぎると処理落ちが発生したり、 制作者側が複雑な設定に対応できず、設定ミスを起こしてしまう可能性があります。 ▲トップへ戻る▲ ■変数 変数の番号と使用内容の一覧表です。
【変数の一覧表を表示】 処理落ち対策のため、主人公の部屋の位置を調べる処理は、 主人公が移動したら更新するように設定されています。 主人公が移動したかどうかの判断は、 「X座標×1000+Y座標」で保存したデータを比較して判断しています。 【この現在位置の保存方法の詳しい説明を見る】 ▲トップへ戻る▲ ■イベントの設定 まず移動させるマップイベントを準備してください。
マップイベントに最短ルートを検索するイベントを設定してください。 移動設定は、以下のマップ形状で設定します。 ▼主人公が部屋1にいる時の移動設定 ▼主人公が部屋2にいる時の移動設定 ▼主人公が部屋3にいる時の移動設定 キャラクターの動作指定の設定は全て、 「移動頻度:8」「動作を繰り返す:OFF」「移動できない場合は無視:ON」 になります。
以上で設定完了です。 他にも処理するマップイベントがある場合は、移動キャラ01と同じように設定してください。 【移動キャラ02の設定例を見る】 ▲トップへ戻る▲ ■移動速度と移動頻度 移動キャラの移動速度によって…
移動頻度を下げる場合は…
▲トップへ戻る▲ ■別マップへマップイベントをコピーする時の注意点 移動処理のマップイベントを別のマップへコピーした場合、 移動させるキャラのイベントIDが異なっていると、関係のないマップイベントが移動したり、 「無効なイベントが指定されました」のエラーが発生したりします。 コピー元のマップと同じイベントIDでない場合は、移動処理の修正が必要です。 「無効なイベントが指定されました」のエラーが出た場合は、 移動処理のイベント実行内容の中に「?」が表示されたイベントコマンドがあるはずです。 この「?」の設定を現在のマップにある移動キャラの合わせて設定し直すと、 エラーが発生しなくなります。 ▲トップへ戻る▲ ◎関連ページ ●最短ルート移動に関して ┣○座標の差で移動 ┣○座標の位置で移動 ┣〇監視イベント+主人公がいたマスまで移動する ┗○1マスずつ検索 ●別のマップまで敵が追いかけて来る |