2017-03-14 85 views
0

我有一個SKAction,基本上充當了我的遊戲在sprite套件中的倒數計時器。爲了讓它成爲一個計時器,儘管我把它放在一個運行50次的for循環中。這個動作的實際延遲是有效的,然而for循環似乎把所有東西搞砸了。 Spritekit中的倒數計時器的其他選項也可以。我在這裏先向您的幫助表示感謝。運行SKAction x次數

let wait = SKAction.wait(forDuration:0.1) 
    let action = SKAction.run { 
     time = time - 1 
    } 
    for _ in 1...50 { 
     self.run(SKAction.sequence([wait,action])) 
    } 
+0

什麼原因背後等待0.1s 50次,而不是等待5s? –

+0

我想通過倒計時來增加遊戲的強度。 – joshLor

回答

3

你不能使用for循環,你需要使用SKAction.repeat。原因在於循環將執行self.run(SKAction.sequence([wait,action])) 50次而無需等待SKAction.sequence([wait,action])完成。當我假設你真正想要的是一次執行self.run一次和SKAction.sequence([wait,action]) 50次。

這是我爲你做的一個例子。

let wait = SKAction.wait(forDuration:0.1) 
    let action = SKAction.run { 
     time = time - 1 
    } 
    let repeatAction = SKAction.repeat(SKAction.sequence([wait,action]), count: 50) 

    self.run(repeatAction)