顺利改变SKPhysicsBody的动力方向

时间:2016-08-01 10:47:11

标签: ios sprite-kit skphysicsbody inertia momentum

我的场景中有一个SKPhysicsBody,当用户按下按钮使其向前移动时,我会施加冲动。由于它的属性,它只需一次点击就不会移动很多并且速度相当快,但是如果有多个分接头它可以提高速度,正如预期的那样。

我有另一个按钮供用户点击,以便身体可以改变它的方向。我当前的实现方式是对身体施加角度冲动以使其旋转 - 再次,身体的属性意味着如果用户快速点击旋转按钮多次,则身体将需要更长时间才能停止旋转。

目前,当身体旋转时,它的动量不会改变方向(这是我期望从任何物理库中获得的) - 为了让用户实际让身体朝着新的方向移动它面对的他们必须疯狂地按下前进按钮试图减慢它之前的动量。当然,在高速行驶时,身体似乎会打滑。

如何为身体实施更多“类似汽车”的物理学? “汽车般的”,当身体旋转时,它的动量在每个新的方向上平稳地更新。这可以简单地完成,还是需要使用临时绳索,重力场或涡旋?

A diagram speaks 2000 words

1 个答案:

答案 0 :(得分:0)

在SpriteKit中应用力或脉冲是根据全局坐标系而不是目标节点的局部坐标系来应用的。

You'll need to manually rotate the vector of force to match the node's rotation, before applying it.