我正在创建一个iOS测试游戏作为练习,并希望在15秒计时器结束时运行游戏方法。
我还希望有时间添加到此计时器中,并在发生某些操作时将其带走。
根据用户的操作,没有太多运气计算如何增加时间或从某个计时器中取走时间。
到目前为止,我在viewDidLoad
中有一个计时器和一个带有一些条件格式的方法,这些方法将根据用户的操作做一些事情。
答案 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
并未存储所有参数。希望它有所帮助。