我正在尝试为创建的每个节点设置一个计时器(通过触摸屏幕)。我想设置一个计时器来知道何时删除节点(通过使用 removefromparent)。我希望如果某个节点在某个位置定位 5 秒,则它会从屏幕上移除。 我是 swift 的新手,我真的不知道应该如何设置计时器。我使用这个初始化:
let ballTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: false, block: <#T##(Timer) -> Void#>)
我知道“withTimeInterval”用于设置第二个 - 所以我将它设置为 1。“重复”和“ block ”属性我没有真正得到,所以我不确定我是否使用了正确的功能.
有人可以帮我吗?
最佳答案
如果您使用的是 Spritekit,则没有必要使用计时器。 Spritekit 有它自己的内置计时机制,游戏循环调用更新,以及在指定时间运行 Action 以触发事件的方法。
let ball = SKSpriteNode(color: red, size: CGSize: CGSize(width: 100, height: 100))
ball.zPosition = 1
ball.position = CGPoint(x: 100, y: 100)
addChild(ball)
let wait = SKAction.wait(forDuration: 5.0)
let remove = SKAction.removeFromParent()
let sequence = SKAction.sequence([wait, remove])
ball.run(sequence)
关于swift - 节点的设置定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47113212/