SpriteKit最小能量

时间:2015-11-17 21:31:41

标签: ios swift sprite-kit skphysicsbody

我有一个带有物理身体的弹跳球精灵。

    ball.physicsBody = SKPhysicsBody(circleOfRadius: Constants.ballRadius)
    ball.physicsBody!.dynamic = true
    ball.physicsBody!.allowsRotation = false
    ball.physicsBody!.affectedByGravity = true

    ball.physicsBody!.restitution = 0.95
    ball.physicsBody!.mass = 1.0

问题在于,即使restitution0.95,球也会停止弹跳太快。看起来突然之间"坚持"到边境。

根据Apple的Documentation关于restitution

的说法
  

此属性用于确定物理体的能量   当它从另一个物体反弹时失去。该物业必须是一个价值   介于0.0和1.0之间。默认值为0.2。

因此,每次反弹,我的球都会失去0.05的能量。所以我认为,问题在于,在某个时刻,它的能量变得太小而SpriteKit决定将其四舍五入为0。但那个时刻来得太快,看起来不切实际。

我该怎么做才能解决它?

UPD:

这是我的边境物理机构:

 border.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(screenWidth, 10))
 border.physicsBody!.dynamic = false
 border.physicsBody!.restitution = 1.0

0 个答案:

没有答案