2015-08-16 51 views
-2

我期待將一些延遲功能集成到我的遊戲中,目前我正致力於在調用我的第一個功能時給予5秒的延遲,因爲在這段時間內遊戲要經過倒計時讓玩家準備好。swift - 使用NSTimer延遲產卵功能

目前我的倒計時顯示,但遊戲在後臺如火如荼。我有一個函數我想延遲5秒,但我也想用同樣的方法在遊戲中加入其他對象來提高難度。

我期待延遲的調用是moving.addChild(crows)

如果有人能告訴我如何建立這將是偉大的,因爲我一直無法找到網站(除非我已經錯過了它)。

+1

閱讀本關於SpriteKit使用的NSTimer:http://stackoverflow.com/a/23978854 – Whirlwind

回答

0
let delay = 5.0 * Double(NSEC_PER_SEC) 
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay)) 
dispatch_after(time, dispatch_get_main_queue()) { 
    moving.addChild(crows) 
} 
+0

感謝你爲這個,它工作在主然而,有輕微的挑剔,我的比賽產生每秒鐘都會啼聲,並將它拋到屏幕上,使用延遲遊戲來保存烏鴉,然後在五秒鐘後將它們全部扔出去。你知道這個方法嗎? –

+0

你的意思是你需要每隔1秒在屏幕上扔一隻烏鴉?我沒有得到你。 – Brian

+0

我的代碼每秒都會在屏幕上引發一聲烏鴉,但是我希望能夠延遲5秒鐘的呼叫。我希望每秒鐘都會產生烏鴉,但不會在遊戲第一次加載時產生。 –

2

不要在SpriteKit中使用NSTimer。使用這個來代替:

let delay = SKAction.waitForDuration(5.0) 
someNode.runAction(delay) { 
    //run code here after 5 secs 
}