在前一部分的最后,我们给出了一个寻路的示例,在大多数情况下,运行还算良好,但是有一个小问题,如下图: 很明显,障碍物已经把路堵死了,但是小球仍然穿过对角线跑了出来! 问题在哪里:我们先回顾一下AStar.as中用于判断的if语句 //如果是当前节点,或者是不可通过的,则跳过 if (test == node || !test.walkable) { continue; } 在这个判断中,并没有规定说不允许走对象线.来看看如何修正: 在以node为中心考查四周节点时,如果遇到水平和垂直方向都是障碍…