pathFinding.js库-仅第一个路径正确

时间:2019-03-22 21:08:51

标签: javascript path-finding

我正在使用PathFinding.js package。我的代码是:

 $(".menu-item > a").click(function(e) {
   $(".menu-navigation ul ul").slideUp(),
   $(this).next().is(":visible") ||
   $(this).next().slideDown(),
   e.stopPropagation()
 });

 $(".sub-menu-item > a").click(function(e) {
   $(".sub-menu-navigation ul").slideUp(),
   $(this).next().is(":visible") ||
   $(this).next().slideDown(),
   e.stopPropagation()
 });

codepen demo

这是上方视图的可视化

alt

(但是x和y相反,我在图像中的错误)

我正在检查所有3个绿色点的路径长度,以检查哪一条最短。不幸的是,只有第一条路径具有正确的长度。为什么?我使用的包装不正确吗?我从该问题第一行的链接中获取了文档。


我不认为这是一个软件包问题,因为它被广泛使用并且在GH上有超过6k颗星。

1 个答案:

答案 0 :(得分:0)

我在文档中没有注意到这句话:

  

请注意,网格将在每次寻路时进行修改,之后将无法使用。如果要多次使用单个网格,请在调用findPath之前为其创建一个副本。

所以我必须创建网格克隆。稍后,我将在循环中使用finder,因此在其中每次循环时我都需要重新分配网格克隆:

gridBackup = grid.clone();