SpriteKit速度单位和抛出

时间:2014-12-31 16:31:22

标签: sprite-kit game-physics

我尝试使用SpriteKit设计游戏,但我对单位有疑问。根据SpriteKit指南,它使用SI单位,我尝试编写一个射弹运动代码。根据{{​​3}}, T-Flight = 2 * V-YComp / g

我在我的代码中应用以下参数:

V-YComp = 20 m/sec
g = 10 m/sec^2

根据以上参数,T-Flight必须为4秒。

我使用以下行将速度应用于对象:

ball.physicsBody?.velocity = CGVectorMake(0, 20)

由于上面的代码,对象不会被抛出。

以下引自Xcode指南:

The physics body’s velocity vector, measured in meters per second.

有什么问题?

1 个答案:

答案 0 :(得分:0)

您正在应用固定速度。

相反,你应该使用apply impulse:

[ball.physicsBody applyImpulse:CGVectorMake(0, 20)];

另外,请记住将其设置为动态,以便物理与您的精灵一起使用:

ball.physicsBody.dynamic = YES;