Flash AI问题

时间:2010-10-09 06:25:18

标签: flash actionscript-3

我对AI有疑问。假设我有一个坦克,在我的地图中我有一堵墙。我有一个敌人,当它到达时应该试图攻击我的坦克。

有人可以帮助我完成代码逻辑。

当坦克靠近敌人然后有一个范围时,如果坦克在范围内,敌人被激活并追踪我们的目标。

我是否需要在闪存中构建节点,例如敌人旅行的点?

我是flash和游戏编程的新手。我从未做过游戏,也不知道究竟是什么。我确实理解编程概念,并且具有C ++,Java和Ruby方面的经验。

1 个答案:

答案 0 :(得分:1)

您需要的是称为寻路。虽然您可以自己构建代码,但您可能会在网络上的一些现有代码中找到运气。那里有一些A *寻路算法。我没有使用它们,所以我不知道它们是否有用(应该是)。

我还没有研究过这个理论,但是我已经为过去自己使用了一两个探路者(比如打包器非基于游戏的游戏)。它是递归函数函数或while-for循环,其行为类似于递归代码(因此它们不会溢出堆栈)。

你可以通过递归功能逃离闪光灯,你不会有很多敌人跑来跑去。也就是说,如果您没有使用基于图块的地图。如果你(你应该根据自己的经验),网上的A *课程应该为你做得很好。还有高级别的平铺 - 低级非平铺混合,但是更高级,你将无法在闪存中运行这样的游戏(闪光灯真的很慢,即使是3)。

如果遇到性能问题,请使用前面描述的技巧,不要为不在范围内的人寻找路径......

编辑:是的,如果您有墙,基本上,您需要预先计算路径(制作路径点)。只需google“寻路维基”来获得一些理论,阅读10-20页的维基百科,你就会开始。找到一些代码示例(再次搜索)并在基于5x5图块的地图中测试(矩阵,二维数组...)