定时器常用于游戏的碰撞检测,和计数的动态显示,这个是游戏中定时器的常用功能。定时器有三种,常见的有五种创建方式。下面就用代码是举例,并用效果来验证!
实例一
只执行一次定时器方法
//调用一次
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);
欢迎关注我的围脖
====================== 相互学习,共同进步 ===================