为NSTimer增加时间

时间:2015-06-15 03:13:34

标签: ios nstimer

我正在创建一个iOS测试游戏作为练习,并希望在15秒计时器结束时运行游戏方法。

我还希望有时间添加到此计时器中,并在发生某些操作时将其带走。

根据用户的操作,没有太多运气计算如何增加时间或从某个计时器中取走时间。

到目前为止,我在viewDidLoad中有一个计时器和一个带有一些条件格式的方法,这些方法将根据用户的操作做一些事情。

2 个答案:

答案 0 :(得分:2)

创建后,NSTimer的句号无法更改,计时器只能在请求的时间段后取消或允许触发。

为了为你的游戏实现计时器,我建议你设置一个每秒触发一次的重复计时器。实际的剩余时间' value存储在一个整数中,每次定时器触发时都会减小该值。当此值达到0时,结束游戏。

通过这种方式,您只需更改剩余时间变量的值即可轻松添加额外的时间。

此方法还可以在屏幕上显示剩余时间。

答案 1 :(得分:0)

创建NSTimer后,您无法更改时间间隔。但这是我为我做的方法:

func addTimeToTimer(timer: NSTimer, time: NSTimeInterval, target: AnyObject, selector: Selector, repeats: Bool) -> NSTimer {
    let currentInterval = Float(timer.timeInterval)
    let targetInterval = NSTimeInterval(currentInterval + Float(time))

    let newTimer = NSTimer.scheduledTimerWithTimeInterval(targetInterval, target: target, selector: selector, userInfo: timer.userInfo, repeats: repeats)

    return newTimer
}

您需要提供大量参数,因为NSTimer并未存储所有参数。希望它有所帮助。