@flare-engine/pathfinding

中文文档
0.4.12发布于 2026/11/13Apache-2.0TypeScriptESM + CJS构建来源已验证近 30 天下载 2082

A* 网格路径查找、跳点搜索和2D场景和应用程序的导航

中文使用文档
文档目录5 节
  1. findPath 财务报告和审定财务报表 findPathJPS 关于剪角的分歧
  2. findPathJPS 加权网格
  3. 安装
  4. 使用量
  5. 许可证

@flare-engine/路径调查

网格路径调查——A* (中文(简体) )findPath),跳出点搜索(findPathJPS统一成本电网(加权电网代表给A*,见下文)和多边形导航回落(findNavMeshPath) 纯数据,无课. 高血压( U)manhattanDistance, (中文(简体) ), octileDistance, (中文(简体) ), chebyshevDistance, (中文(简体) ), euclideanDistance)导出为树摇的命名函数.

状态:β-还没有生产消费者. 每一个 @flare-engine/* 执行软件包 以船运游戏进行,但这个不是。 API被测试覆盖,算法正确 但并没有通过实际使用的震动。 处理 签名是稳定的,行为是比其他范围更少的战斗测试.

findPath 财务报告和审定财务报表 findPathJPS 关于剪角的分歧

他们是 没有 互换空降人员。 双向双向 主要邻居都被封锁了:

. X .     start (0,0), goal (1,1)
X . .     findPath      → null   (refuses to squeeze the corner)
. . .     findPathJPS   → [{x:0,y:0},{x:1,y:1}]   (takes the diagonal)

findPath 要求对角线的两个主要邻居都行走; findPathJPS 没有. 所以改变运动语义,在地图上 紧密的对角差距 它会改变哪些路线存在。 通过测试固定在 tests/jps.test.ts。如果游戏的相撞形状是一个圆或框,宽于点,则您 几乎绝对想要 findPath规矩.

findPathJPS 加权网格

JPS 刷卡只有在每个可走动的瓦片花费1. 如果任何瓷砖的成本超过1, findPathJPS 用线性扫描探测到 grid.data 并代表 findPath 与 diagonal: true,转发 maxIterations 财务报告和审定财务报表 heuristic。结果是成本校正 加权 A* 路径——上面有 A* 的切入角规则,而不是 JPS 的,从不忽略 JPS 路径 费用。 网格,其瓦片全部分担1以上的成本(createGrid({ defaultCost: 2 })(a) 代表 与JPS相同的路径, cost 双倍于实际加权总数,没有JPS加速. 保持每1个成本,以获得JPS加速.

安装

bun add @flare-engine/pathfinding

使用量

import { createGrid, setWalkable, findPathJPS, octileDistance } from '@flare-engine/pathfinding';

const grid = createGrid({ width: 32, height: 32 });
setWalkable(grid, 5, 5, false);

const result = findPathJPS(grid, 0, 0, 30, 30, {
  heuristic: octileDistance,
});
if (result !== null) console.log(result.path);

见 API 规格。 。 。 .

许可证

阿帕奇 - 2.0

版本与发布记录

@flare-engine/pathfinding 共发布 17 个版本,首次发布于 2026/06/10;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.12latest2026/11/133 天前
0.4.112026/11/123 天前
0.4.102026/11/087 天前
0.4.82026/11/0610 天前
0.4.72026/11/0411 天前
0.4.62026/10/3115 天前

关于 @flare-engine/pathfinding 的常见问题

@flare-engine/pathfinding 是什么?

A* 网格路径查找、跳点搜索和2D场景和应用程序的导航

如何安装 @flare-engine/pathfinding?

在项目目录运行 npm install @flare-engine/pathfinding,或使用 pnpm add / yarn add / bun add。

@flare-engine/pathfinding 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@flare-engine/pathfinding 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@flare-engine/pathfinding 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@flare-engine/pathfinding 可以商用吗?

@flare-engine/pathfinding 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@flare-engine/pathfinding 的下载量有多少?

根据 npm 官方下载统计,@flare-engine/pathfinding 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,082 次,日均约 69 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@flare-engine/pathfinding 还在维护吗?

最新版本 0.4.12 发布于 2026/11/13(3 天前);至今共发布 17 个版本,其中过去 12 个月发布了 17 个;首次发布于 2026/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。