现在,我们来看个例子,我们想寻找一条从 S 到 G 的路径,我们首先在低层级地图上(各个簇之间)进行一次 A* 寻路,然后,我们可以根据预计算数据(簇之间的连通数据)快速的得到一条完整的路径....记住一点:你可以自定义网格和簇的创建方式,这听起来似乎很当然,但是这意味着你可以根据你游戏地图的分布方式来创建网格(和簇).通过自定义网格(和簇),你可以使一些簇变得更大,以使这些簇可以适应整个房间或者其他一些地图区域...;对于其适用的规则网格地图,地图的空旷程度越高,JPS 的效率也会越高.另外, JPS 也不需要预处理任何数据,并且支持动态地图....通过这个节点数组,我们就可以通过网格的位置(索引)直接访问节点数据,这对于节点遍历非常有用.一旦我们有了节点数据,我们就可以执行 A* 算法了,我们要做的第一步就是在该数组中填充原始节点,我们使用的填充函数是...如果你不知道上述代码里模板参数中的 compare 是什么,你可以简单理解是一种定义了如何比较节点的简单数据结构.
?