Andengine:用于游戏的 Box2D 扩展与 Sprites

Andengine: Box2D extension vs Sprites for games

我的问题围绕着使用 AndEngine 实现游戏时哪种技术最好。在此游戏中,用户可以进行简单的触摸动作:拖动、捏合和轻敲目前仅由精灵表示的某些对象。此时,游戏并没有真正使用任何物理。关于 sprite 所做的唯一事情是像素完美碰撞检测(在 sprite 之间)以及实时添加和删除这些 sprite。只需使用 Sprites 即可完成工作,但我想知道使用 Box2D 扩展是否更合适?

使用 Box2D 扩展与仅使用 Sprites 有哪些优点和缺点?一个胜过另一个吗?

box2D扩展显然用于游戏中的物理模拟。精灵用于在屏幕上显示图像。所以它们是不同的概念。但是如果你想要更可靠的碰撞检测,你可能需要为此使用 box2d,即使你不在你的游戏中使用物理。 andEngine 中的 Sprite 碰撞检测不是像素完美的。

所以关于box2D的使用:

'+ 更可靠的碰撞检测

'+ 您可以将物体用作实体并自动反弹它们(由 box2D 计算)或作为传感器(它们不反弹但报告与另一个碰撞(或重叠)body/sensor

'- 需要编写更多代码并为涉及碰撞的所有精灵实现主体

'- 物体碰撞检测的编码(如果你想将它们用作传感器,而不是反弹它们)有点难,但不是太难