NSTimer 怎么暂停继续
2016-07-04 17:45
309 查看
转载自:http://blog.csdn.net/chentoo/article/details/8667918
那,API里面NSTimer 是木有暂停继续的方法的,只有fire和invalidate,前者是开工的意思,后者是废掉的意思,如果用废掉来代替暂停的功能?显然是不对的。
那肿么办呢?
其实NSTimer 有一个属性叫 fireDate ,啥意思呢?fireDate么,就是fire 的开始时间所以我们就有了思路了。
暂停: [timer setFireDate:[NSDate distantFuture]]; distantFuture,就是问你未来有多远呢?好远好远就是无法到达的时间,所以 timer就一直等待不 fire了。也就是暂停了。
继续: [timer setFireDate:[NSDate date]]; 这个当然就是把fire 的时间设置为当前时刻,所以timer就立刻开工啦!
完事!
------------------------------------------------------------------------------
http://www.cnblogs.com/crazyac/articles/2497477.html
NSTimer的暂停和继续
可以用NSTimer设置访问函数的时间周期:
countTime = [NSTimerscheduledTimerWithTimeInterval:(1.0/60.0)
target:self
selector:@selector(updateBoard)
userInfo:nil
repeats:YES];
即每1/60秒调用一次updateBoard函数
但是有时候游戏里要暂停,可以这样:
需要继续的时候
那,API里面NSTimer 是木有暂停继续的方法的,只有fire和invalidate,前者是开工的意思,后者是废掉的意思,如果用废掉来代替暂停的功能?显然是不对的。
那肿么办呢?
其实NSTimer 有一个属性叫 fireDate ,啥意思呢?fireDate么,就是fire 的开始时间所以我们就有了思路了。
暂停: [timer setFireDate:[NSDate distantFuture]]; distantFuture,就是问你未来有多远呢?好远好远就是无法到达的时间,所以 timer就一直等待不 fire了。也就是暂停了。
继续: [timer setFireDate:[NSDate date]]; 这个当然就是把fire 的时间设置为当前时刻,所以timer就立刻开工啦!
完事!
------------------------------------------------------------------------------
http://www.cnblogs.com/crazyac/articles/2497477.html
NSTimer的暂停和继续
可以用NSTimer设置访问函数的时间周期:
countTime = [NSTimerscheduledTimerWithTimeInterval:(1.0/60.0)
target:self
selector:@selector(updateBoard)
userInfo:nil
repeats:YES];
即每1/60秒调用一次updateBoard函数
但是有时候游戏里要暂停,可以这样:
[countTime setFireDate:[NSDate distantFuture]];
需要继续的时候
[countTime setFireDate:[NSDate date]];
相关文章推荐
- info.plist文件常用属性含义
- 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解
- MyBatis学习总结(六)调用存储过程
- XML解析Pull解析
- shell读取键盘输入
- POJ 3723 Conscription 最小生成树
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- 如何让页面撑满整个浏览器屏幕
- NSDate格式化字符
- Web 前端本地化(二)
- 5.盘点springmvc的常用接口之Converter(上篇)
- 有容云:DevOps 的起点-入手微型数据中心(下)
- Linux 使用QQ2013
- 【暂未解决】Eclipse中调试Java代码期间如何修改值
- phpcms 学习笔记(一)
- win7 安装ubuntu14.04 双系统 加hisi3531 交叉编译移植
- typescript-let
- MyBatis学习总结(七)缓存
- 【Shiro】Apache Shiro架构之集成web
- Android之Toast通知的几种自定义用法