swift - 节点的设置定时器

标签 swift timer sprite-kit sknode

我正在尝试为创建的每个节点设置一个计时器(通过触摸屏幕)。我想设置一个计时器来知道何时删除节点(通过使用 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/

相关文章:

ios - 具有圆形区域的 SKFieldNode 仅在中心位于区域内时影响主体

ios - 节点旋转不跟随手指

arrays - 使用结构体、数组和用户默认值 (Swift)

ios - 无法使用 openURL 打开使用 NSDataDetector 检测到的电话号码

ios - 自定义单元格错误添加目标按钮

ios - 在 Swift 中有可变按钮

ios - 如何在 Swift 中实现非常准确的计时?

ios - SpriteKit 动画因 validateIndexBuffer 而崩溃

c++ - 在特定功能上测量新/旧代码 CPU 使用率

ios - 在 Sprite Kit 中,如何使坠落物体在相交时不会受到其他物体的影响?