如何在寻路情况下处理不同大小的物体(A *,A-star)

时间:2009-05-06 08:20:10

标签: path-finding a-star

我正在开发一款使用A-star(A *)进行路径查找的游戏,但我已经到了一个点,我有一些大于单个网格方块的物体。

我在16 * 16px的网格上运行。墙段为16 * 16,因此单个方块无法通行。我的一些坏人是32 * 32,所以他们需要检查一个间隙是否至少2格子宽,以便能够通过throguh它。

我不能简单地制作网格32 * 32,因为设计需要薄壁(16px),并且有几个较小的坏人只占用一个16 * 16的方形。

如何实施此多重分辨率环境? A-star仍然是正确使用的工具吗?

2 个答案:

答案 0 :(得分:9)

答案 1 :(得分:1)

对于一个相对简单的解决方案,我会坚持使用与16x16大小的对象相同的A *算法,但使用稍微不同的方式来评估方块是否可以步行。

  • 如果该广场是可步行的,16x16大小的物体可以在广场上行走。
  • 一个32x32大小的物体可以走在正方形上,如果该正方形及其“邻居都可以步行的话。”