【发布时间】:2015-04-18 18:47:33
【问题描述】:
我需要为我的比赛暂停球。我希望它们停在原地,但它们是冲动移动的,如果我让它们非动态地阻止它们,冲动就会消失。我试图暂停它们并取消暂停它们,它们仍然朝着同一个方向前进。我试过了
ball.paused = true
但这没有用。有人知道吗?
【问题讨论】:
标签: ios swift sprite-kit
我需要为我的比赛暂停球。我希望它们停在原地,但它们是冲动移动的,如果我让它们非动态地阻止它们,冲动就会消失。我试图暂停它们并取消暂停它们,它们仍然朝着同一个方向前进。我试过了
ball.paused = true
但这没有用。有人知道吗?
【问题讨论】:
标签: ios swift sprite-kit
我没有冻结节点,而是冻结了场景 场景?.physicsWorld.speed = 0 因为这会冻结所有节点,而不是我需要的时间或分数整数。
【讨论】:
这是我在游戏中解决它的方法:
var ballVelocity = CGVector()
func pauseAction(ball: SKSpriteNode){
if ball.dynamic {
//Ball is moving. Save the current velocity of ball.
ballVelocity = ball.velocity
//Stop the ball
ball.physicsBody.dynamic = false
}else{
//Ball is paused.
//Resume ball movement.
ball.physicsBody.dynamic = true
//Add the saved velocity.
ball.velocity = ballVelocity
}
}
【讨论】:
您可以使用ball.physicsBody.velocity = CGVectorMake(0, 0);,但请记住,如果球受到重力影响,它仍然会掉落。
【讨论】: