1

无论如何计算何时SKPhysicsBody停止(或者更确切地说它的速度变得非常小),以便您可以将其从物理模拟中移除。我试过观察速度,但有两个问题。(1)在任何给定的反弹中,在顶点处有一个点,对象的速度很小,(2)当SKPhysicsBody明显完成反弹时, velocity.dy仍然显示一个相当大的数字(即 30+),即使对于所有意图身体现在处于休息状态。只是好奇是否有任何我可能遗漏的东西来检查身体何时不再移动?

4

2 回答 2

3

SKPhysicsBody有一个布尔resting属性,物理世界在被认为处于静止状态时会打开 - 这可能就是您正在寻找的。不确定这是否适用于您的情况,因为您无法在触发时真正设置阈值。

于 2013-09-30T17:27:54.127 回答
2

听起来你想要resting.SKPhysicsBody

从链接的文档中,

当物理模拟确定身体处于静止状态时,此属性会自动设置为 YES。这意味着身体在系统中的另一个身体上静止。静止的物体不会参与物理模拟,直到向物体施加脉冲或另一个物体与它碰撞。这提高了物理模拟的性能。如果世界上的所有物体都处于静止状态,那么整个模拟处于静止状态,从而减少了物理世界执行的计算次数。

于 2013-09-30T17:30:19.440 回答