定时器常用于游戏的碰撞检测,和计数的动态显示,这个是游戏中定时器的常用功能。定时器有三种,常见的有五种创建方式。下面就用代码是举例,并用效果来验证!
实例一
只执行一次定时器方法
//调用一次 scheduleOnce(schedule_selector(HelloWorld::scheCallBack),1); //延时延时一秒调用一次回调函数
效果就是一秒钟后计数器从0变成1,然后保持1不变。
实例二
执行默认的update定时器
//不断的执行update方法 scheduleUpdate();回调函数
void HelloWorld::update(float dt) { sprintf(str2,"update:%d",n2++); label2->setString(str2); }效果参考下图的update效果,具体的update速度跟帧速率有关。
实例三
一秒钟调用一次回调,重复三次,并且延时四秒执行开始回调
//第一个参数是回调函数选择器 //第二个参数是每隔几秒调用一次回调函数 //第三个参数是重复的次数 //第四个参数是延时时间(延时多少秒开始执行回调函数) schedule(schedule_selector(HelloWorld::scheCallBack),1,3,4);回调函数
void HelloWorld::scheCallBack(float dt) { sprintf(str,G2U("秒表:%d"),++n); label1->setString(str); }
从效果可见一开始停留在0的时候等了4S然后开始每秒递增,执行到了4就不变了。
实例四
一秒调用一次回调方法
隔一秒调用一次 schedule(schedule_selector(HelloWorld::scheCallBack),1);
欢迎关注我的围脖
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:375151422 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================