微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在swift中暂停和恢复NSTimer.scheduledTimerWithTimeInterval?

我正在开发一个游戏,我想创建一个暂停菜单.这是我的代码
self.view?.paused = true

但NSTimer.scheduledTimerWithTimeInterval仍在运行..

for var i=0; i < rocketCount; i++ {
 var a:NSTimeInterval = 1
 ii += a
 delaysShow =   2.0 + ((stimulus + interStimulus) * ii)       
 var time3 = NSTimer.scheduledTimerWithTimeInterval(delaysShow!,target: self,selector: Selector("showRocket:"),userInfo: rocketid[i],repeats: false)
 }

当玩家点击暂停菜单时,我想要time3暂停计时器,玩家回到游戏时继续运行定时器,但是如何暂停NSTimer.scheduledTimerWithTimeInterval?请帮帮我.

你需要使它无效并重新创建它.您可以使用isPaused bool来跟踪状态,如果您有相同的按钮暂停和恢复计时器:
var isPaused = true
var timer = NSTimer()    
@IBAction func pauseResume(sender: AnyObject) {     
    if isPaused{
        timer = NSTimer.scheduledTimerWithTimeInterval(0.1,selector: Selector("somAction"),userInfo: nil,repeats: true)
        isPaused = false
    } else {
        timer.invalidate()
        isPaused = true
    }
}

原文地址:https://www.jb51.cc/swift/318806.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐