A* 寻路关闭 Canvas
A* Pathfinding off Canvas
我有一个游戏角色,我正在围绕屏幕设置动画。
由于非常具体的原因,这个字符必须在 DIV (off-canvas).
内
我正在将黑白图像绘制到 canvas 并循环像素数据以定义角色的可行走区域。效果很好。
现在需要设置寻路。
我读了很多关于使用 A* 算法的文章,它似乎很有意义......当你在游戏循环中移动角色时。
那么,当我的角色 (DIV) 未在 canvas 循环中绘制时,我如何才能将我的路径移动信息传递给它们?
这可能吗,或者是否有任何已知的解决方法?
谢谢!
因此,您的假设似乎是您必须移动角色才能完成 A* 算法。你不必移动你的实际角色。基本上,你创建一个 "simulation" 你的角色和棋盘并移动它。
1-
在代码中创建您的可步行区域的表示。听起来你已经完成了很多,但不是显示它,而是将它存储在数组或其他东西中;某种对您有意义的方式(二维数组?)。
2-
不是通过 A* 算法在代码中绘制和移动您的实际角色,运行。这里的想法是在你的角色开始移动之前解决问题并知道寻路解决方案。根据 A* 的实现方式,有几种方法可以做到这一点,但在它 运行s 之后,你想要生成你想要走的路径的表示(从 (0,0) 开始,去到 (0,1),转到 (1,1),等等)。
3-
将该路径信息传递给您的角色。现在它有一个关于如何在开始之前到达终点的分步计划。
我有一个游戏角色,我正在围绕屏幕设置动画。 由于非常具体的原因,这个字符必须在 DIV (off-canvas).
内我正在将黑白图像绘制到 canvas 并循环像素数据以定义角色的可行走区域。效果很好。
现在需要设置寻路。 我读了很多关于使用 A* 算法的文章,它似乎很有意义......当你在游戏循环中移动角色时。
那么,当我的角色 (DIV) 未在 canvas 循环中绘制时,我如何才能将我的路径移动信息传递给它们? 这可能吗,或者是否有任何已知的解决方法?
谢谢!
因此,您的假设似乎是您必须移动角色才能完成 A* 算法。你不必移动你的实际角色。基本上,你创建一个 "simulation" 你的角色和棋盘并移动它。
1-
在代码中创建您的可步行区域的表示。听起来你已经完成了很多,但不是显示它,而是将它存储在数组或其他东西中;某种对您有意义的方式(二维数组?)。
2-
不是通过 A* 算法在代码中绘制和移动您的实际角色,运行。这里的想法是在你的角色开始移动之前解决问题并知道寻路解决方案。根据 A* 的实现方式,有几种方法可以做到这一点,但在它 运行s 之后,你想要生成你想要走的路径的表示(从 (0,0) 开始,去到 (0,1),转到 (1,1),等等)。
3-
将该路径信息传递给您的角色。现在它有一个关于如何在开始之前到达终点的分步计划。