ads*_*dsf 2 algorithm ios sprite-kit swift
var action = SKAction.sequence([
SKAction.waitForDuration(1),
SKAction.runBlock({
//Some code
})
])
Run Code Online (Sandbox Code Playgroud)
我希望上述操作在某些情况为真时继续重复执行。我怎样才能做到这一点?
我知道我可以一次使用动作,也可以runAction(action)永远重复执行一次runAction(SKAction.repeatActionForever(action))。我如何只在某些条件为真时重复它?
如果使用动作无法做到这一点,那么除了在某些条件为真的情况下可以重复这些步骤之外,还有另一种方法(显然,在单独的线程上,我不希望这冻结我的应用程序):
1)等一下
2)执行一段代码
3)检查条件是否正确。如果它停止重复。否则,重复。
我很犹豫,sleep()因为这听起来像是一个糟糕的解决方案,而且苹果公司不允许商店中的应用程序使用。
使用Swift的替代解决方案:
runAction(
SKAction.repeatActionForever (
SKAction.sequence([
SKAction.waitForDuration(1),
SKAction.runBlock({
//Code you want to execute
if conditionIsTrue {
self.removeActionForKey("New Thread")
}
})
])
),
withKey: "New Thread"
)
Run Code Online (Sandbox Code Playgroud)