target 是 Yuka.js 库中广度优先搜索算法(BFS)的目标对象。该对象包含搜索过程中需要的所有信息,例如当前搜索状态、起点、终点等。
constructor(source, target)创建一个新的目标对象。
| 参数 | 类型 | 描述 |
|---|---|---|
| source | Object |
起点节点 |
| target | Object |
终点节点 |
source搜索的起点节点。
target搜索的终点节点。
open一个装有节点的队列,用于存放所有可用于扩展的节点。
closed一个装有节点的集合,用于存放已被扩展的节点。
reset()重置目标对象,以便使用相同设置进行多次搜索。
expand(node)根据指定的节点,扩展可达到的所有节点,并将它们添加到 open 队列中。
| 参数 | 类型 | 描述 |
|---|---|---|
| node | Object |
当前节点 |
directions(node)计算一个节点所有可行方向的列表。
| 参数 | 类型 | 描述 |
|---|---|---|
| node | Object |
当前节点 |
getDistance(nodeA, nodeB)返回两个节点之间的距离。
| 参数 | 类型 | 描述 |
|---|---|---|
| nodeA | Object |
节点 A |
| nodeB | Object |
节点 B |
| 返回值类型 | 描述 |
|---|---|
Number |
两节点间距离 |
getPath()返回起点节点到终点节点的路径。
| 返回值类型 | 描述 |
|---|---|
Array |
路径上的所有节点 |
isDestination(node)检查指定节点是否为终点节点。
| 参数 | 类型 | 描述 |
|---|---|---|
| node | Object |
当前节点 |
| 返回值类型 | 描述 |
|---|---|
Boolean |
如果 node 与终点节点相同,则为 true;否则为 false。 |
cleanup()清除搜索状态,并将 open 队列和 closed 集合重置为空状态。