search
是AStar
类的一个方法,它用于在图形化的网格地图上执行A*搜索算法,以查找最短路径。
const astar = new AStar(grid, options);
astar.search(startNode, endNode);
grid
:二维数组类型的网格地图,其中:
0
表示可以通过的节点。0
的数字表示不可通过的节点(障碍物、墙壁等等)options
:可选参数,包括:
allowDiagonal
:是否允许斜着移动,默认为 false
。cutCorners
:当斜着移动时,是否允许拐角,默认为 false
。heuristic
:启发式函数,用于判断节点间的距离,默认为曼哈顿距离。startNode
:起点节点,格式为 {x: number, y: number}
。endNode
:终点节点,格式同上。方法将返回一个数组,表示经过的节点序列,其中第1个元素为起点,最后一个元素为终点。
若无法找到终点,则返回一个空数组。
startNode
和 endNode
应该都在地图内。0
的数字标记它们。