我需要为我的比赛暂停球。我希望他们停在原地,但他们正在冲动,如果我让他们非动态地阻止他们,那么冲动就会消失。我试图暂停它们并取消暂停它们,但它们仍然朝着同一个方向前进。我试过了
ball.paused = true
但这不起作用。有人知道吗?
答案 0 :(得分:3)
我没有冻结节点,而是冻结了场景 场景?.physicsWorld.speed = 0 因为这会冻结所有节点而不是我的时间或得分整数,这正是我所需要的。
答案 1 :(得分:1)
以下是我在游戏中解决的问题:
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
}
}
答案 2 :(得分:0)
您可以使用ball.physicsBody.velocity = CGVectorMake(0, 0);
,但请记住,如果球受到重力的影响,它仍会下降。