我有一个游戏角色,我在屏幕上制作动画。 由于非常具体的原因,这个角色必须在DIV内(离开画布)。
我正在将黑白图像绘制到画布上并循环像素数据以定义角色的可行走区域。效果很好。
现在需要设置寻路。 我已经阅读了很多关于使用A *算法的文章,它似乎很有意义......当你在游戏循环中移动角色时。
那么,当我们没有在画布循环中绘制时,我如何将路径移动信息传递给我的角色(DIV)? 这可能,还是有任何已知的解决方法?
谢谢!
答案 0 :(得分:1)
所以,你的假设似乎是你必须移动你的角色来完成A *算法。您不必移动您的实际角色。基本上,你创建一个角色和棋盘的“模拟”并移动它。
1 -
在代码中创建可步行区域的表示。听起来你已经完成了这个,但不是显示它,而是将它存储在数组或其他东西中;某种方式对你有意义(2D数组?)。
<强> 2 - 强>
不是在代码中绘制和移动实际角色,而是通过A *算法运行。这里的想法是解决问题,并在角色开始移动之前了解寻路解决方案。根据A *的实现方式,有两种方法可以做到这一点,但是在运行之后,你想要生成一个你想要的路径表示(从(0,0)开始,转到(0,1) ),转到(1,1)等)。
第3 - 强>
将该路径信息传递给您的角色。现在它已经逐步规划了如何在它开始之前到达终点。