)
对于该节点每一个不在关闭列表中的相邻节点:
将该节点设置为当前相邻节点的父节点(主要用于后面的节点回溯)
计算当前相邻节点的 G 值(从开始点到当前相邻点的距离)并将其加入到开放列表中...或者 is_close 变量.你可以在节点中保存一个变量,用以表示节点是否在开放列表中或者关闭列表中.通过这种方式,当你需要搜索一个列表中的节点时,你就可以不用在整个列表中搜索节点,而是直接检查对应的变量值即可...类似的, HPA 也并不是在空旷地图中寻路的最佳选择,不过这并不是说 HPA 在空旷地图上的寻路表现糟糕,而是说另一些寻路算法(譬如 JPS)更适用于这种情况....意思是这些节点如果经过 x 节点来访问,其成本(距离)将小于或等于仅经过 x 父节点(4 号节点)来访问,所以在扩展 x 节点时,我们可以直接忽略这些节点而不进行扩展).现在我们来说下什么是强制邻点(forced...我们将当前节点的分值设置为最低,并且将其 on_close 变量设置为 true,正常来说,我们应该将节点放置于关闭列表中,但是设置节点变量数据是效率更高的一种方式.OK,现在是时候扩展相邻节点了,扩展之前我们需要检查相邻节点是否已经处于关闭列表中