多重化に問題があるように見えるHTML5キャンバス用のJavaScriptのパスファインディングスクリプトがあります。
スクリプトは、ここで受け入れられているSOの回答から少し変更されています。A* HTML5 Canvasでパスファインディングを開始します(これにも同じバグがあります)。
問題を再現する方法:赤い正方形が動いている間に地図の周りをすばやくクリックするだけで、正方形がさまざまなパスのそれぞれに分割または分岐しているように見えることがわかります。
何が起こっているのかと思います。分岐中に赤い四角がちらつき始めるので、実際には同じ四角が同時に複数の場所に配置しようとしているため、同じ四角が前後に「テレポート」します。交互フレームのフレームレート。これは単なる理論ですが、実際にはもっと多くの正方形を生み出しているとは思いません。
movePlayer()
関数と関係があるのか、関数と関係があるのかわかりませんpathFinding()
。私がする必要があるのは、オブジェクトが移動していてターゲットタイルが更新された場合、それらを同時に実行し続けるのではなく、以前の操作をキャンセルすることだと思います-しかし、これをどのように行うかはわかりません。
これは最終的には敵のAIスクリプトになるため、プレーヤーがマップ内を移動すると、ターゲットタイルが常にリアルタイムで更新され、この問題が表面化する可能性があります。
ありがとう、そして私はこれをデバッグするのに助けてくれてありがとう!