我正在尝试以永久运行的顺序更新waitForDuration操作。
override func didMoveToView(view: SKView) {
//code
runAction(SKAction.repeatActionForever(runSeq()))
}
func runSeq() -> SKAction{
var difficulty: CGFloat = 0.75
let updateAction = SKAction.runBlock({
self.runCount++
self.runCount %= 4
println(self.runCount)
if self.runCount == 0 {
difficulty -= 0.1
}
if self.children.count > 51{
println("You loose")
}else{
self.scoreLabel.text = String(format: "Score: %i", self.score)
}
})
let createAntAction = SKAction.runBlock({self.createAnt()})
var wait = SKAction.waitForDuration(NSTimeInterval(difficulty))
let seq = SKAction.sequence([createAntAction, wait, updateAction])
return seq
}
difficulty
是我想要的值,每4个循环我希望它减少一定量。目前,起始值保持不变,并且不会更改,即使我正在更改difficulty
值,并且每次都会调用操作序列。
答案 0 :(得分:0)
这种情况正在发生,因为等待已经确定为.75,并且没有任何改变。 SKAction.waitForDuration(NSTimeInterval(难度))不是在寻找对难度的引用,而只是一个值,因此您需要重新考虑如何对此进行编码。