2016-12-04 56 views
1

我有一個簡單的遊戲,我的成績後將球所以現在我想,他失去了先快後慢變得更加速度減慢SKSpriteNode與衝動

ball.physicsBody?.applyImpulse(CGVector(dx: 1, dy: -1)) 

。我試過:

ball.pause = 0 

和許多其他代碼,我在網上找到。你可以幫我嗎?

//對不起,如果這不是一個高級的問題,我沒有那麼長時間。

回答

0

如果你想完全阻止球,你可以運行這一行:

ball.physicsBody?.velocity = CGVector(dx: 0, dy: 0) 

這臺速度不了了之,有效地阻止了球,沒有暫停它。

如果你只是想慢下來,你可以嘗試做這樣的事情:

ball.physicsBody?.velocity = CGVector(dx: ball.physicsBody.velocity.dx - 5, dy: ball.physicsBody.velocity.dy + 5) 

這帶來的速度接近無(專爲你的例子),而不是完全阻止它。

或者,你可以在相反的方向上施加的衝動,將它的運動減慢在原來的方向:

ball.physicsBody?.applyImpulse(CGVector(dx: -1, dy: 1)) 

請注意,如果你想完全暫停球(不只是慢或停止它的行動),你會運行這個:ball.isPaused = true

+0

謝謝,但如果我想這樣做:ball.physicsBody?.applyImpulse(CGVector(dx:-1,dy:1))。球不再從牆上彈出。 – user6083214

+0

@ user6083214你是什麼意思。它所做的只是在相反的方向施加衝動,這會減慢它的運動 – Nik