我该如何制作一个倒数计时器,当它达到0时,我的场景会运行x个动作?那么,我将如何重置计时器来重复整个过程?倒数计时器重复?
EX:当场景加载时,定时器从5秒开始。定时器倒数到0,然后一个动作将在我的场景中运行。在动作完成后,计时器重置回5
我该如何制作一个倒数计时器,当它达到0时,我的场景会运行x个动作?那么,我将如何重置计时器来重复整个过程?倒数计时器重复?
EX:当场景加载时,定时器从5秒开始。定时器倒数到0,然后一个动作将在我的场景中运行。在动作完成后,计时器重置回5
事情是这样的:
let waitAction: SCNAction = SCNAction.wait(duration: 5.0)
let thisAction = SCNAction(some sort of action)
let sequenceAction = SCNAction.sequence([waitAction, thisAction])
let repeatAction = SCNAction.repeatForever(sequenceAction, duration: 5.0))
theNode.runAction(repeatAction)
使用'SCNAction'比SceneKit的风格更适合使用'Timer'。 –
@GregRobertson虽然我一开始就想到了这一点,但一旦计时器达到零,四个动作中的一个就会发生;因此,它不能在节点本身中,而是在实际节点中。 –
您可以使用定时器类与任何下一步行动创造自我重复计时器。据我所知,你使用swift3。
代码如下:
Timer.init(timeInterval: 5.0, repeats: true, block: { (timer) in
print("Scene runned")
}).fire()
如果您需要了解定时器使用的更多详细信息,看apple documentation。
5秒后触发的计时器非常简单;你最难的部分是什么? – matt
纯粹的代码写入请求在Stack Overflow上是无关紧要的 - 我们期望这里的问题与*特定的*编程问题有关 - 但我们会很乐意帮助您自己编写代码!告诉我们[你试过的东西](http://stackoverflow.com/help/how-to-ask),以及你卡在哪里。这也将帮助我们更好地回答你的问题。 –