如何使用 Swift Spritekit 每 3 秒调用一个函数
How to call a function every 3 seconds using Swift Spritekit
在正常情况下swift,你可以这样使用:
Foundation.Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #selector(GameViewController.hideFunc), userInfo: nil, repeats: true)
我的问题是,在 Sprite 套件游戏中,您可以用什么来代替它?
好吧,您可以使用 SKActions 轻松构建它:
let pauser = SKAction.wait(forDuration: 3.0)
let trigger = SKAction.perform(#selector(GameViewController.hideFunc, onTarget: self)
let pauseThenTrigger = SKAction.sequence([ pauser, trigger ])
let repeatForever = SKAction.repeatForever(pauseThenTrigger)
node.run( repeatForever )
这种方法的优点是可以让您对需要使用它的任何节点重用该动作,并且您可以通过从场景中删除或添加节点来轻松控制动作,在其上调用 removeAllActions()等
在正常情况下swift,你可以这样使用:
Foundation.Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #selector(GameViewController.hideFunc), userInfo: nil, repeats: true)
我的问题是,在 Sprite 套件游戏中,您可以用什么来代替它?
好吧,您可以使用 SKActions 轻松构建它:
let pauser = SKAction.wait(forDuration: 3.0)
let trigger = SKAction.perform(#selector(GameViewController.hideFunc, onTarget: self)
let pauseThenTrigger = SKAction.sequence([ pauser, trigger ])
let repeatForever = SKAction.repeatForever(pauseThenTrigger)
node.run( repeatForever )
这种方法的优点是可以让您对需要使用它的任何节点重用该动作,并且您可以通过从场景中删除或添加节点来轻松控制动作,在其上调用 removeAllActions()等