0
你能告诉我为什么这段代码不起作用吗?是不是可以在SKAction.runBlock()函数中运行一个Action?Swift SpriteKit在SKAction.runBlock()运行SKAction
let testaction = SKAction.repeatActionForever(SKAction.runBlock({self.myFunction()}))
runAction(testaction)
这里是我的testaction:
func myFunction() {
runAction(SKAction.runBlock({
let i = 0
print(i)
}))
}
我需要这一场比赛。我想区分myFunction中的某些情况以在不同情况下运行不同的操作。我做错了什么?
编辑:当我将myFunction()更改为此时,我打印1永远,但不是从runBlock内部0。
func myFunction() {
let j = 1
print(j)
runAction(SKAction.runBlock({
let i = 0
print(i)
}))
}
,如果你尝试它到底会发生什么? –
什么都没有。没有输出和没有错误,只是永远运行。 – SwiftProgger
调用'runAction'不会导致一个动作运行,它只是在下一次处理场景的动画循环时排队一个要运行的动作。我猜测,既然你不断地向这个队列添加动作(甚至没有任何延迟),那么这个动画循环就不会被处理。如果你不重复这个问题,而是运行X次,你会看到一堆1,然后是一堆0。 –