多线程做定时器
标题大雾其实没讲多线程
(cocos2d-X 游戏开发之旅第八章 阅读笔记)
cocos2d-X 中 schedule 的各种使用
我觉得讲的是这个
HelloWorld.cpp 中的init 函数重写
bool HelloWorld::init(){
bool bRet = false; //这句话不知道有什么用。。
do{
this->scheduleUpdate();
bRet = true;
}while(0);//执行一次
return bRet;
}
HelloWorld.h
class HelloWorld:public cocos2d::CCLayer{
public:
virtual bool init();
static cocos2d::CCScene* scene();
void menuCloseCallback(CCObject* pSender);
CREATE_FUNC(HelloWorld);
/*重写update函数*/
virtual void update(float dt);
};
然后重写update函数
void HelloWorld::update(float dt){ CCLOG("update");//调试窗口会显示update }
自己写一个update函数
void HelloWorld::myUpdate(float mydt){
CCLOG("%f",mydt);
}
this->schedule(schedule_selector(HelloWorld::myUpdate),1.0f);
//指定每帧执行自定义的函数,指定每隔1秒执行一次
在函数定义最后加一条语句
this->unschedule(schedule_selector(HelloWorld::mydate));
//这样就可以停止调用函数
scheduleOnce
this->scheduleOnce(schedule_selector(HelloWorld::mydate),3.0f);
/*第一个参数还是定时器,第二个参数是多长时间后执行定时器且只执行一次(Once直白。。)*/
观察者模式
每章的标题真的是误人子弟啊