schedule的使用,类似ontimer

时间:2021-07-13 14:34:35

schedule的作用类似于window下的onTimer(),设置定时器。

一、设置定时器自定义的函数响应

schedule(schedule_selector(SpriteFrameTest::startIn05Secs), 0.5f);

函数功能:每隔0.5s,调用一次startIn05Secs函数

 

二、取消定时器

unschedule(schedule_selector(SpriteFrameTest::startIn05Secs));


 

三、定时器管理器CCSchedule

CCScheduler::sharedScheduler()->pauseTarget(this);          // 暂停当前对象所有的定时器
->resumeTarget(this); // 恢复当前对象所有的定时器
->unscheduleAllSelectors(); // 取消所有的定时器,CCNode的会取消当前节点的定时器


 

四、scheduleUpdate()默认定时器

scheduleUpdate();

Test::update(ccTime dt)
{
// 将会执行
}

unscheduleUpdate();
加入当前节点后,程序会每帧都会自动执行一次默认的Update函数。(注:一定是Update函数哦,若想调用其他自己命名的函数则使用schedule看例子,走起,首先在HelloWord类的头文件中声明Update函数 void Update(float dt); //注意参数类型

然后在HelloWorld类源文件中实现函数Update:

void HelloWorld::Update(float dt)
{
CCLOG("baibai");
}

现在我们可以调用了,在需要他不断执行的地方加入调用的代码就ok:

 this->scheduleUpdate();     //this是当前节点,如layer,所以可以省略啦。</span>

运行之后你将会看到不断有baibai被打印出来

 

五、取消默认定时器

unscheduleUpdate();