Spritekit - 对物理体应用加速度
Spritekit - applying an acceleration to a physics body
我正在做一个项目,其中有一个受重力影响的节点。我希望能够在不接触重力的情况下对该节点应用垂直加速度。很像一个热气球,我会让它上升或下降,而其他物体通常仍受重力影响。
balloon = Vehicle()
balloon.physicsBody = SKPhysicsBody(polygonFrom: path)
balloon.physicsBody?.affectedByGravity = true
我试过 applyForce(_:)
和冲动,但我想要的是适当的加速,而不是随着时间的推移对抗重力的准时冲动!有什么建议吗?
您要查找的是 Sprite Kit 中的物理场(SKFieldNode
)。
这些提供了用一般力影响物体的能力,如风力、升力、黑洞式吸引力等。
你可以阅读它们 here.
关于它们如何工作的真正重要的考虑因素是 quote:
Physics bodies with affectedByGravity set to false are still affected
by the gravity fields created by linearGravityField(withVector:) and
radialGravityField().
但是他们忘记也明确(呃)的是受重力影响的物体也会受到这些场的影响。
我正在做一个项目,其中有一个受重力影响的节点。我希望能够在不接触重力的情况下对该节点应用垂直加速度。很像一个热气球,我会让它上升或下降,而其他物体通常仍受重力影响。
balloon = Vehicle()
balloon.physicsBody = SKPhysicsBody(polygonFrom: path)
balloon.physicsBody?.affectedByGravity = true
我试过 applyForce(_:)
和冲动,但我想要的是适当的加速,而不是随着时间的推移对抗重力的准时冲动!有什么建议吗?
您要查找的是 Sprite Kit 中的物理场(SKFieldNode
)。
这些提供了用一般力影响物体的能力,如风力、升力、黑洞式吸引力等。
你可以阅读它们 here.
关于它们如何工作的真正重要的考虑因素是 quote:
Physics bodies with affectedByGravity set to false are still affected by the gravity fields created by linearGravityField(withVector:) and radialGravityField().
但是他们忘记也明确(呃)的是受重力影响的物体也会受到这些场的影响。