Swift:随机延迟生成不起作用?

时间:2015-07-09 20:49:47

标签: swift random sprite-kit

好的,所以我正在创建一个sprite kit游戏,我正在尝试做的是生成一个随机Double,然后将其输入SKAction.waitForDuration,以便执行随机延迟。

我正在使用此延迟来延迟在游戏中产生敌人。以下是我尝试生成并运行随机延迟的方法:

func randomDelay() {
        var randLower : UInt32 = 1
        var randUpper : UInt32 = 50
        var randDelayTime = arc4random_uniform(randUpper - randLower) + randLower
        var randDelayTimer = Double(randDelayTime) / 10

        runAction(SKAction.waitForDuration(randDelayTimer))
        println(randDelayTimer)
    } 

这里我在产生敌人之前执行此功能:

runAction(SKAction.repeatActionForever(
            SKAction.sequence([
                SKAction.runBlock({self.randomDelay()}),
                SKAction.runBlock({self.spawnEnemy1()})
)))

代码没有崩溃,但没有执行延迟。敌人只是以相同的速度反复产生。

我知道randomDelay()函数正在生成一个随机Double,因为当我println(randDelayTimer)时,我每次都会得到一个随机的Double

为什么randomDelay()的延迟不会被运行?我该如何解决这个问题?

0 个答案:

没有答案