我试图实现一个简单的寻路,但是结果不如我想要实现的令人满意。问题是像《星际争霸2》这样的游戏中的单位向所有方向移动,而在我的情况下,单位最多只能向8个方向(《魔兽争霸1》风格)移动,因为这8个方向直接指向下一个可用节点(它们从一个图块移动到下一个相邻图块) 。为了达到《星际争霸2》中的结果,我应该怎么做?缩小瓷砖尺寸?
在图片上,您可以看到水平方向的石头砖是障碍物,并且找到的路径标记为绿色砖。红线是我要实现的路径。
我还是跳点搜索的忠实粉丝,尽管我还没有时间实施它。但是该文档很有趣,并且具有良好的性能。
您确定这是您想要的路径吗?使用它的单位将部分穿过墙壁。在另一个示例中,我将其变得更加明显:i.imgur.com/eh4ZR.png这可能是您真正想要实现的目标:i.imgur.com/vFQg4.png
—
Markus von Broady
您说得对
—
Kooi Nam Ng
您必须在图块中具有分数坐标才能获得所需的内容。没有此功能,没有任何可能的途径-携带分数但不显示分数将使您的设备直线/对角/直线/对角移动。
—
罗伦·佩希特
@LorenPechtel您输入的是错误的,您可以在找到路径后使路径平滑。这很容易,因为您可以根据单元的尺寸创建两条线,并检查它们是否与tile0和tileN之间的图块相交,其中tile1-tile(N-1)是要从路径中删除的图块。
—
Markus von Broady,2012年