我正在努力做到这一点,当一个附加到物理体的 Sprite 在关卡上与另一个 Sprite 重叠时,就会发生一些事情。第二个 Sprite 没有附加到物理体上。
更具体地说,当两个 Sprite 重叠时,我希望游戏不断检查 Sprite 中心之间的距离是否小于一定数量。然后,如果距离足够小,就会发生一些事情。
我正在尝试使用碰撞检查作为优化游戏的一种方式,这样它就不必经常检查每个类型 A 和 B 的对象之间的距离,即使它们并不接近。它只会在它们足够近以至于重叠时检查距离。
现在我想知道我该怎么做?作为 AndEngine 的一部分,有没有办法检查 Sprite 之间的碰撞?或者将物理体也附加到第二个对象然后只使用物理碰撞检测会更容易吗?但是,如果我这样做,我能否做到这一点,以便检测到碰撞,但它们实际上不会发生物理“碰撞”?
最佳答案
是的,参见 CollisionDetectionExample.java .我建议你下载整个示例包,在没有任何 AndEngine 文档的情况下它非常有用。请注意,碰撞检测不是像素完美的,因此它仍会检测 Sprites 透明部分的碰撞。有 a library为此,但恐怕它已经过时了。
关于java - AndEngine - 检查与 Sprite 或 Physics Body 的重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825560/