【解決】最短経路探索を諦めた時の判定について

jp_asty
記事: 81
登録日時: 2019年11月12日(火) 15:34

Re: 【解決】最短経路探索を諦めた時の判定について

投稿記事by jp_asty » 2021年4月25日(日) 13:42

追伸 この部分に直接、判定用のスイッチや変数の記述したらマズイですかね?

試すこと自体は問題ないと思いますが、自己責任の領域だとは思います。

スイッチ(変数)の操作をするときにsetValueを使用する場合、1度の呼び出しの度にマップのイベント全てに対して更新のチェックがされるので、今回の場合のようなチェックの必要がないことが分かっていて、スイッチの中身が書き換わってさえいれば良いというような場合には$gameSwitches._dataの中身を直接書き換えてしまうというのも手ではあると思います。そうでない場合、イベント数が多く、findDirectionToの呼び出し回数が多い場合にパフォーマンスが極端に落ちる可能性があります。

具体的には、findDirectionToの冒頭に
追加1.png
追加1.png (6.82 KiB) 閲覧数: 879 回

終盤のdeltaX2 = の行の上に
追加2.png
追加2.png (9.18 KiB) 閲覧数: 879 回

を追加し、
ツクール側でfindDirectionToを呼びだしたあとにスイッチの値を見れば
経路があると判断されて移動したのか、経路がないと判断されての移動なのかの切り分けが可能であるとは思います。
(この例の場合、スイッチIDは1番を使用しています)

---------------------------------------------------------------------------------------------
プラグイン置き場 : https://github.com/ste0/RPG-Maker-MV-Plugins
アバター
MEIKOI
記事: 168
登録日時: 2018年9月22日(土) 20:13
連絡を取る:

Re: 【解決】最短経路探索を諦めた時の判定について

投稿記事by MEIKOI » 2021年4月25日(日) 14:20

jp_asty様

これは、わかりやすいです!
色々テストして、イベントがいい動きしてくれるように調整してみます^^
丁寧にコード頂きありがとうございます。

“MV:質問” へ戻る