我該如何製作一個倒數計時器,當它達到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),以及你卡在哪裏。這也將幫助我們更好地回答你的問題。 –