-1

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

每个精灵都应该通过“collidesWith”方法检查碰撞,并在完整的敌人列表上进行迭代吗?还是子弹应该知道最近的敌人并只检查他们?

如何使用 TMXMaps 实现它?也许我需要在 TMXMap Tile 属性中动态设置某种信息并对其进行操作?

这种游戏有哪些最佳实践?IShape.collidesWith 是 Bullet->Enemy 交互的正确选择吗?

4

1 回答 1

1

我已经在 Stack Overflow 上回答了你的问题:andengine 塔防游戏 - 敌人<-武器交互

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

解决此问题的最佳方法是使用 Physics Box2D 扩展。它将为您处理碰撞。使用固定步长物理引擎来提高性能。

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

  2. 当你发射子弹时,也要附上一个身体。让它成为一个传感器,这样它就不会反弹其他物体(除非你想要它)。让 Box2D 处理碰撞,您来处理后果!

浏览 AndEngine 示例,您想要的大部分内容都已经存在。

于 2013-05-20T04:48:40.427 回答