【ウディタ】最短経路探索&接近コモン作成

障害物を避けながらマップEvがプレイヤーを追跡できる、高度な経路探索コモンを作成しました。

前回作成したコモンの副産物です。



マップイベント【移動ルート】のプレイヤー接近や、イベントコマンド【動作指定】の接近に比べ、障害物を避けて確実に目的地まで移動可能。

使用するDBもたった一つで、意外と軽い処理で実現できました。
計算を画面内に収まる範囲に限定する事で処理量を抑えてます。


さすがに2つ以上のマップイベントに使用すると若干処理が重くなるので、ウディタのバージョン3にアップデートした時にどうなるか?って感じ。
まだ動作環境はバージョン2なので。


特に使う予定は無いんですが、一応紹介。

構成

コモンEv[最短経路移動]

並列実行で呼び出す。

イベントコード

コモンEv[移動範囲計算]

確認用に各マスの数値を表示させるとこんな感じ

イベントコード

コモンEv[最短経路探索]


イベントコード

可変DB

項目数が(とりあえず)100で、初期値が全て-1の可変DBを用意して、タイプ番号をコモンEv[移動範囲計算]CSelf23コモンEv[最短経路探索]CSelf10それぞれに設定しておく。