多线程做定时器
标题大雾其实没讲多线程
(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);
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);
在函数定义最后加一条语句
this->unschedule(schedule_selector(HelloWorld::mydate));
scheduleOnce
用法
this->scheduleOnce(schedule_selector(HelloWorld::mydate),3.0f);
观察者模式
每章的标题真的是误人子弟啊
- addObserver(订阅消息)
参数:
CCObject *target —要订阅消息的主体
SEL_CallFuncO selector —消息回调函数
const char *name —消息名称
CCOject *obj —要传递的数据
- removeObserver(取消订阅消息)
参数:
CCObject *target —取消订阅消息的主体
const char *name —消息名称
…等等
这本书的版本真的是太老了。。3.X里面已经没有CCNotificationCenter了,EventListenerCustom 为代替,详细的去看API