我有一个用户拖动我的主精灵的游戏。除了用户非常快速地拖动主精灵之外,主精灵与其他精灵碰撞很好。有时当主精灵快速移动时,物理体就会直接穿过彼此,两个精灵突然重叠。我有一个断点设置,记录didBeginContact的命中计数,并且没有命中。
精灵可以移动的速度是否有限制并且仍然被didBeginContact覆盖?我是否允许用户更快地移动精灵,而不是游戏循环可以处理碰撞?
同样,当精灵以低速移动时,物理效果非常好。
答案 0 :(得分:2)
请记住,这些都是逐帧计算的。您可能会快速移动精灵,以至于它在屏幕的另一侧以太少的帧结束,不能算作碰撞。如果有人在他们的手指周围移动它可能无法抓住它。你可以对sprite或某些东西设置某种速度限制。
答案 1 :(得分:1)
尝试使用usesPreciseCollisionDetection = YES