Cocos2D-x游戏开发之二十二:CCNotificationCenter观察者模式基础(1)
来源:互联网 发布:电脑时光秘书软件 编辑:程序博客网 时间:2024/05/21 02:21
Cocos2D-X为我们准备了太多东西,当我们想要监听一个动作但是都不能老是盯在这一件事情上的时候就可以用他为我们量身定制的观察者模式,今天我们初步来学习一下这个传说很久的观察这模式在Cocos2D-X中的简单运用。
其实观察者模式的初步学习还是很简单的我们只要定义两个函数即可:
class HelloWorld : public cocos2d::CCLayer{public: virtual bool init(); static cocos2d::CCScene* scene(); void sengMsg(CCObject *pSender);void testMSG(CCObject *pSender); CREATE_FUNC(HelloWorld);};#endif // __HELLOWORLD_SCENE_H__
然后在init()函数中添加事件的监听。在SendMSG()函数中发送事件消息。
bool HelloWorld::init(){ bool bRet = false; do { ////////////////////////////////////////////////////////////////////////// // super init first ////////////////////////////////////////////////////////////////////////// CC_BREAK_IF(! CCLayer::init());CCNotificationCenter::sharedNotificationCenter()->addObserver(this,callfuncO_selector(HelloWorld::testMSG),"test",NULL);CCMenuItemLabel *labelItem = CCMenuItemLabel::create(CCLabelTTF::create("Send MSG","Arial",26),this,menu_selector(HelloWorld::sengMsg));CCMenu *menu = CCMenu::create(labelItem,NULL);this->addChild(menu); bRet = true; } while (0); return bRet;}void HelloWorld::sengMsg(CCObject *pSender){CCLOG("sendMSG");CCNotificationCenter::sharedNotificationCenter()->postNotification("test",NULL);}void HelloWorld::testMSG(CCObject *pSender){CCLOG("testMSG");}
现在当我们点击菜单按钮式就可以看到事件被发送和接受的调试信息:
0 0
- Cocos2D-x游戏开发之二十二:CCNotificationCenter观察者模式基础(1)
- Cocos2D-x游戏开发之:CCNotificationCenter观察者模式基础
- Cocos2D-x游戏开发之二十三:CCNotificationCenter观察者模式(2)-不同层之间事件的发送和接受
- Cocos2d-x观察者模式其实很简单!!--之游戏开发《赵云要格斗》(13)
- cocos2d-x游戏开发之二
- 《cocos2d-x游戏开发之旅》学习笔记(二)
- 【cocos2d-x游戏开发】 从零单排之(二)
- cocos2d-x游戏开发实例(二)
- 关于cocos2dx观察者模式(CCNotificationCenter)
- Cocos2d-X游戏开发(二)
- Cocos2d-x CCNotificationCenter
- [ IOS-Cocos2d-x 游戏开发] - cocosBuilder 开发之二
- Cocos2D-x游戏开发之十二:在游戏背景上添加障碍物
- 【iOS-cocos2d-X 游戏开发之二】【必看篇】总结阐述Cocos2d-X与Cocos2d-iphone区别;
- 【iOS-cocos2d-X 游戏开发之二】【必看篇】总结阐述Cocos2d-X与Cocos2d-iphone区别;
- 【iOS-cocos2d-X 游戏开发之二】【必看篇】总结阐述Cocos2d-X与Cocos2d-iphone区别
- 【iOS-cocos2d-X 游戏开发之二】【必看篇】总结阐述Cocos2d-X与Cocos2d-iphone区别
- 小江cocos2d-x 3.3游戏学习之旅之观察者模式
- stm32之 GPIO_Remap_SWJ_Disable之后无法使用swd下载 程序解决方法
- java语言的线程
- uestc oj Justice is Given by Light(计算几何)
- ListView的缓存原理
- ASP.NET视图状态解析(本博客仅是自己留着作为存储学习)---选自MSDN
- Cocos2D-x游戏开发之二十二:CCNotificationCenter观察者模式基础(1)
- VS中如何去掉字符串操作函数的警告信息 _CRT_SECURE_NO_DEPRECATE
- c#开发中执行adb命令
- Anroid HOOK Method(Native 层)
- Android Bundle类
- android 时间格式 各种转换
- hdu Ignatius and the Princess II_STL next_permutation的用法
- ZOJ3776:Pokemon Master
- Android详细的对话框AlertDialog.Builder使用方法