我有两个功能,可以在GamePlay场景中生成敌人。我试着每隔一秒钟用NSTimers给他们打电话,但当应用程序失去焦点时,定时器会继续运行,并产生数百个敌人。
我读到SKActions会自动暂停,所以我尝试实现一个,但是我收到了一个错误:
不能使用“(repeatActionForever!)”类型的参数列表调用“SKAction”
不能使用类型的参数列表((),queue:(Double))调用'runBlock‘
代码:
override func didMoveToView(view: SKView) {
superblockRandomizer = NSTimeInterval(arc4random_uniform(5) + 5)
runAction(SKAction.repeatActionForever(SKAction.sequence(SKAction.runBlock(spawnEnemies(), queue: (0.3)))))
runAction(SKAction.repeatActionForever(SKAction.sequence(SKAction.runBlock(spawnSuperBlocks(), queue: (superblockRandomizer)))))
}我想运行的两个函数是spawnEnemies和spawnSuperBlocks。任何帮助都将不胜感激!
编辑:当场景移动到视图时,它就会产生超级块。这是我为超级块准备的代码
let spawnSuperBlock = SKAction.sequence([SKAction.runBlock(spawnSuperBlocks), SKAction.waitForDuration(superblockRandomizer)])
runAction(SKAction.repeatActionForever(spawnSuperBlock))它难道不应该等待至少superblockRandomizer时间才能产卵吗?
发布于 2015-07-28 19:10:48
有些SKAction方法只执行时间延迟。例如,您可以创建一个包含您希望执行的操作的SKAction.sequence,以及延迟0.3秒:
let action = SKAction.sequence([SKAction.runBlock(spawnEnemies), SKAction.waitForDuration(0.3)])然后,就像你以前试过的那样,你可以让动作永远运行下去:
runAction(SKAction.repeatActionForever(action))结果是一个无休止的spawnEnemies,每0.3秒运行一次。
https://stackoverflow.com/questions/31684996
复制相似问题