ios开发之oc-NSTimer计时器简单使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios开发之oc-NSTimer计时器简单使用相关的知识,希望对你有一定的参考价值。
在游戏开发中,很多时候会用到一定时间内自动干嘛的效果,比如每隔一秒自动增加一个元素。很显然,我就用到了。object-c中的NSTimer就能实现这种效果。
1.定义NSTimer
@property(nonatomic)NSTimer *MouseTimer;//计时器
--------------------------------------------------------------------------------------------------------------
2.初始化,同时指定它干什么
_MouseTimer=[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(MouseMove) userInfo:nil repeats:YES];
只要运行到这一句,他就开始周而复始的执行动作,知道我们让它停下来,下面是参数的大概解释:
scheduledTimerWithTimeInterval,指定每隔多久执行一次动作;
target,指定此计时器的结果反应给谁,指定目标;
selector,指定计时器每次执行的动作,这里MouseMove是我自己写的一个函数;
userInfo,传输发送的东西,发送的参数;
repeats,设定定时器是否重复调用目标方法,即MouseMove。
--------------------------------------------------------------------------------------------------------------
3.关闭定时器
在想让他停止时比如游戏结束,离开游戏界面的时候,就需要停止或关闭定时器。
停止:(ps:这就是为啥我把它定位全局变量了,因为在这个页面的任何地方都可以操作它)
[_MouseTimer setFireDate:[NSDate distantFuture]];
继续:
[_MouseTimer setFireDate:[NSDate date]];
关闭:(ps:invalidate只是很单纯的关闭了定时器,并没有释放资源。所以我们要自己释放资源。)
[_MouseTimer invalidate];//关闭计时器 _MouseTimer = nil;//释放资源
如此这般,就可以很好地控制游戏过程中的某些效果了。
以上是关于ios开发之oc-NSTimer计时器简单使用的主要内容,如果未能解决你的问题,请参考以下文章