Cocos2D-X为我们准备了太多东西,当我们想要监听一个动作但是都不能老是盯在这一件事情上的时候就可以用他为我们量身定制的观察者模式,今天我们初步来学习一下这个传说很久的观察这模式在Cocos2D-X中的简单运用。
其实观察者模式的初步学习还是很简单的我们只要定义两个函数即可:
然后在init()函数中添加事件的监听。在SendMSG()函数中发送事件消息。
copy
- boolHelloWorld::init()
- boolbRet=false;
- do
- {
- //////////////////////////////////////////////////////////////////////////
- //superinitfirst
- CC_BREAK_IF(!CCLayer::init());
- CCNotificationCenter::sharedNotificationCenter()->addObserver(this,callfuncO_selector(HelloWorld::testMSG),"test",NULL);
- CCMenuItemLabel*labelItem=CCMenuItemLabel::create(CCLabelTTF::create("SendMSG","Arial",26), CCMenu*menu=CCMenu::create(labelItem,NULL);
- this->addChild(menu);
- bRet=true;
- }while(0);
- returnbRet;
- }
- voidHelloWorld::sengMsg(CCObject*pSender)
- CCLOG("sendMSG");
- CCNotificationCenter::sharedNotificationCenter()->postNotification("test",248); line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important; list-style-position:outside!important"> }
- voidHelloWorld::testMSG(CCObject*pSender)
- CCLOG("testMSG");
- }