Cocos2D-x游戏开发之:CCNotificationCenter观察者模式基础

Cocos2D-x游戏开发之:CCNotificationCenter观察者模式基础,第1张

概述Cocos2D-X为我们准备了太多东西,当我们想要监听一个动作但是都不能老是盯在这一件事情上的时候就可以用他为我们量身定制的观察者模式,今天我们初步来学习一下这个传说很久的观察这模式在Cocos2D-X中的简单运用。 其实观察者模式的初步学习还是很简单的我们只要定义两个函数即可: [cpp]  view plain  copy class HelloWorld : public cocos2d::

Cocos2D-X为我们准备了太多东西,当我们想要监听一个动作但是都不能老是盯在这一件事情上的时候就可以用他为我们量身定制的观察者模式,今天我们初步来学习一下这个传说很久的观察这模式在Cocos2D-X中的简单运用。

其实观察者模式的初步学习还是很简单的我们只要定义两个函数即可:

[cpp] view plain copy classHelloWorld:publiccocos2d::cclayer { public: virtualboolinit(); staticcocos2d::CCScene*scene(); voIDsengMsg(CCObject*pSender); voIDtestMSG(CCObject*pSender); CREATE_FUNC(HelloWorld); }; #endif//__HELLOWORLD_SCENE_H__
然后在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"); }
现在当我们点击菜单按钮式就可以看到事件被发送和接受的调试信息:



顶 0 踩 总结

以上是内存溢出为你收集整理的Cocos2D-x游戏开发之:CCNotificationCenter观察者模式基础全部内容,希望文章能够帮你解决Cocos2D-x游戏开发之:CCNotificationCenter观察者模式基础所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1084960.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存