我需要暫停我的遊戲球。我希望他們停下腳步,但他們正在衝動,如果我讓他們沒有動力來阻止他們,衝動就會消失。我試圖暫停他們,不停頓他們,他們仍然繼續朝着同一個方向前進。我試過暫停SKSpriteNode(Swift,SpriteKite)
ball.paused = true
但這並不奏效。有人知道嗎?
我需要暫停我的遊戲球。我希望他們停下腳步,但他們正在衝動,如果我讓他們沒有動力來阻止他們,衝動就會消失。我試圖暫停他們,不停頓他們,他們仍然繼續朝着同一個方向前進。我試過暫停SKSpriteNode(Swift,SpriteKite)
ball.paused = true
但這並不奏效。有人知道嗎?
而是凍結的節點,我愣在現場與現場 ?.physicsWorld.speed = 0 因爲凍結所有的節點,而不是我的時間和得分整數這正是我需要的。
您可以使用ball.physicsBody.velocity = CGVectorMake(0, 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
}
}
是的,我試過,我張貼的問題後。這不起作用,因爲它不會使球重新運動。它只是凍結它們,當它們解凍時,它們不會移動。 – drewvy22
@ drewvy22 - 當你「解凍」時,再次衝動它。 – sangony
,不工作,因爲這是放在重寫func更新函數,所以力量只是繼續應用。它必須在這個特定的功能中才能使所有其他功能正常工作。我只是不明白爲什麼ball.pause = true根本不起作用 – drewvy22