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计时器简单使用的主要内容,如果未能解决你的问题,请参考以下文章

IOS中切换页面如何继续计时之单例计时器

服务器开发之定时器

stm32定时器之简单封装

Linux——Linux驱动之使用内核定时器进行按键消抖的开发实战(内核定时器的基本概念使用要点修改定时周期运行)

iOS开发之NSTimer使用初探

ios开发之--简单动画效果的添加