【问题标题】:Andengine: Box2D extension vs Sprites for gamesAndengine:用于游戏的 Box2D 扩展与 Sprites
【发布时间】:2015-07-12 00:22:35
【问题描述】:
我的问题围绕着在使用 AndEngine 实现游戏时哪种技术最好。在这个游戏中,用户可以进行简单的触摸动作:拖动、捏合和点击当前仅由精灵表示的某些对象。目前,游戏并没有真正使用任何物理。关于精灵唯一要做的事情是像素完美碰撞检测(精灵之间)以及实时添加和删除这些精灵。只需使用 Sprites 即可完成工作,但我想知道使用 Box2D 扩展是否更合适?
使用 Box2D 扩展与仅使用 Sprite 有哪些优点和缺点?一个比另一个重吗?
【问题讨论】:
标签:
sprite
box2d
andengine
【解决方案1】:
box2D 扩展显然是用于游戏中的物理模拟。精灵用于在屏幕上显示图像。所以它们是不同的概念。但是如果你想要更可靠的碰撞检测,你可能需要使用 box2d,即使你在游戏中没有使用物理。在 andEngine 中,Sprite 碰撞检测不是像素完美的。
所以关于box2D的使用:
'+更可靠的碰撞检测
'+ 你可以使用实体作为实体并自动反弹它们(由 box2D 计算)或作为传感器(它们不反弹但报告与另一个实体/传感器的碰撞(或重叠)
'- 需要为所有涉及碰撞的精灵编写更多代码并实现主体
'- 物体碰撞检测的编码(如果你想将它们用作传感器,而不是反弹它们)有点难,但不是太难