andengine塔防游戏 - 敌人< -Weapon互动

时间:2013-05-17 09:56:48

标签: java android collision-detection andengine

从性能的角度来看,最正确的是什么 - 敌人和武器之间相互作用的算法(这里的子弹可能更正确)?

每个sprite是否应该通过“collidesWith”方法检查每个子弹的冲突,并在完整的敌人列表中进行迭代?或者子弹应该知道最近的敌人并只检查它们?

如何使用TMXMaps实现?也许我需要动态地将某种信息设置到TMXMap Tile属性中并与之一起运行?

这种游戏有哪些最佳实践? IShape.collides是否适合Bullet-> Enemy互动?

1 个答案:

答案 0 :(得分:1)

我在Stack Overflow上回答了你的问题:andengine Tower Defence game - Enemy<-Weapon interaction

查看示例链接。我在这里没有足够的声誉来发布更多链接。

解决这个问题的最佳方法是使用Physics Box2D扩展。它会为你处理碰撞。使用固定步进物理引擎来提高性能。

  1. 您可以将自己的属性添加到TMX地图 - 每个对象,组等。我建议在敌人的对象上创建属性,因为我相信它们将在您的TMX地图中。在您的代码中,将物理引擎主体附加到具有该属性的每个对象。

  2. 当你发射子弹时,也要将一个物体附在它上面。使它成为传感器,因此它不会反弹其他物体(除非你想要它)。让Box2D处理碰撞并处理后果!

  3. 通过AndEngine的例子,你想要的大部分内容已经存在。