Spritekit - 将加速应用于物理主体

时间:2017-12-25 16:35:11

标签: ios sprite-kit skphysicsbody

我正在开展一个项目,我有一个受重力影响的节点。我希望能够在不接触重力的情况下对该节点应用垂直加速度。非常像一个热气球,我会上下移动,而其他物体通常仍然受到重力的影响。

balloon = Vehicle()
balloon.physicsBody = SKPhysicsBody(polygonFrom: path)
balloon.physicsBody?.affectedByGravity = true

我试着用applyForce(_:)和冲动来玩,但我想要的是一个适当的加速度,而不是随着时间的推移无视重力的准时冲动!有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找的是Sprite Kit中的物理字段(SKFieldNode)。

这些能够以一般的力量影响物体,如风,升力,黑洞风格吸引力等。

您可以阅读here.

关于它们如何运作的真正重要的考虑因素是quote

  

affectedByGravity设置为false的物理体仍然受到影响   由linearGravityField(withVector :)和。创建的重力场   radialGravityField()。

但他们忘记清楚(呃)的是受重力影响的物体也会受到这些场的影响。