SKPhysicsbody球在脉冲太小时不会反弹



我有一个可以正常工作的无限弹跳球模拟。球永远在屏幕边界上反弹。

不过,一个小问题是,如果启动脉冲太小,球就永远不会反弹。

我进行了实验,最终发现我的球需要至少2.1的启动脉冲才能反弹。

ball.physicsBody!.applyImpulse(CGVectorMake(-2.1, -2.1))

如果我把值设置为2,球就永远不会开始反弹,只会停在左下角。

ball.physicsBody!.applyImpulse(CGVectorMake(-2.0, -2.0)) //ball stops

事实上,我遇到了一个回答这个问题的问题,但我忘记了如何到达它。我知道spritkit在发生碰撞时会强制执行一些下限,以使移动对象停止。

如果我能得到那个答案,那就太好了。此外,如果有一种方法可以覆盖这一点,并使物体仍然以较慢的起始脉冲反弹,那也太好了,谢谢。

编辑:所以我重新找到了另一个问题,SpriteKit的球在撞墙时失去了所有能量,恢复=1

所以我的新问题是,有没有办法在sprite套件中设置或降低速度阈值?我希望我的球能慢一点。

编辑:有人吗?

你的球有重量。

这就像在现实世界中一样——如果你试着用很小的力推一把椅子,它就不会动,因为它有重量。

然而,如果你用力推,椅子会开始移动,但它不是从0.1 N的力开始的(这实际上取决于重量、摩擦力和其他一些因素)。

最新更新