#寻路算法 #a-star #2d #bevy #游戏

nightly sark_pathfinding

从red blob games https://www.redblobgames.com/pathfinding/a-star/implementation.html实现的简单astar寻路算法

5个版本

0.2.0 2022年11月13日
0.1.3 2022年5月25日
0.1.2 2022年1月17日
0.1.1 2022年1月16日
0.1.0 2022年1月16日

#1721 in 游戏开发

27 每月下载量

MIT 许可证

120KB
257 代码行

License: MIT Crates.io docs

从red blob games https://www.redblobgames.com/pathfinding/a-star/implementation.html实现的简单astar寻路算法

要使用路径查找器,你必须有一个路径图,以便它可以在其中导航。你可以通过实现[PathingMap]特质来定义一个路径图,或者你可以使用内置的[PathMap2d]。

示例

use sark_pathfinding::*;

let map = PathMap2d::new([50,50]);
let mut astar = AStar::from_size([50,50]);

let path = astar.find_path(&map, [4,4], [10,10]).unwrap();

从"终端"示例。


lib.rs:

从red blob games https://www.redblobgames.com/pathfinding/a-star/implementation.html实现的简单astar寻路算法

要使用路径查找器,你必须有一个路径图,以便它可以在其中导航。你可以通过实现[PathingMap]特质来定义一个路径图,或者你可以使用内置的[PathMap2d]。

示例

use sark_pathfinding::*;

let map = PathMap2d::new([50,50]);
let mut astar = AStar::new(20);

let path = astar.find_path(&map, [4,4], [10,10]).unwrap();

依赖关系

~3.5MB
~97K SLoC