【问题标题】:swift - Delay a spawn function using NSTimerswift - 使用 NSTimer 延迟生成函数
【发布时间】:2015-08-16 06:42:03
【问题描述】:

我希望将一些延迟函数集成到我的游戏中,目前我正在努力将调用我的第一个函数延迟 5 秒,因为在这段时间内游戏会通过倒计时让玩家做好准备。

目前显示我的倒计时,但游戏在后台如火如荼。我有一个功能我想延迟 5 秒,但我也在考虑使用相同的方法在游戏后期合并其他对象以提高难度。

我希望延迟的电话是moving.addChild(crows)

如果有人能告诉我如何构建它会很棒,因为我在现场找不到(除非我错过了)。

【问题讨论】:

标签: swift sprite-kit nstimer


【解决方案1】:

不要在 SpriteKit 中使用 NSTimer。改用这个:

let delay = SKAction.waitForDuration(5.0)
someNode.runAction(delay) {
     //run code here after 5 secs
}

【讨论】:

    【解决方案2】:
    let delay = 5.0 * Double(NSEC_PER_SEC)
    let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
    dispatch_after(time, dispatch_get_main_queue()) {
        moving.addChild(crows)
    }
    

    【讨论】:

    • 谢谢你,它原则上可以工作,但有一点小问题,我的游戏每秒生成一只乌鸦并将它扔到屏幕上,使用游戏出现的延迟来保存乌鸦和然后在五秒钟后将它们全部扔掉。你知道解决这个问题的方法吗?
    • 你的意思是你需要每 1 秒在屏幕上扔一只乌鸦?我没听懂你。
    • 我的代码每秒都会在屏幕上抛出一个乌鸦,但我想将它的调用延迟 5 秒。我希望每秒生成乌鸦,但不是在游戏首次加载时生成。
    猜你喜欢
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多