Cocos2d-x CCNotificationCenter 通知中心
相信接触过ios开发的人来说对NSNotificationCenter都不陌生。而在cocos2d-x中也参照这个类,提供了CCNotificationCenter这个类,用作通知中心。
那么NotificationCenter的介绍请看这篇文章:点击打开链接
而我主要是使用NotificationCenter 进行不同类之间的参数传递。(譬如说在两个layer之间进行参数的传递)
下面对这个CCNotificationCenter类如何使用进行简单的介绍。
1、首先这个类的位置:cocos2dx/support
2、
注意这是一个单例类
使用时要获取到单例对象:
/** Gets the single instance of CCNotificationCenter. */static CCNotificationCenter *sharedNotificationCenter(void);
发送通知:
主要用到的两个方法:
void postNotification(const char *name);void postNotification(const char *name, CCObject *object);
例子:
// Define this at the header
#define MY_NOTIFICATION "MY_NOTIFICATION"
CCNotificationCenter::sharedNotificationCenter()->postNotification(MY_NOTIFICATION, (CCObject*)1);
接收通知(添加监听):
方法:
void addObserver(CCObject *target, SEL_CallFuncO selector,const char *name,CCObject *obj);
例子:
CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(HelloWorld::myNotification), MY_NOTIFICATION, NULL);
// Handle the notification
void HelloWorld::myNotification(CCObject* obj)
{CCLOG("Notification achieved. ID: %i", (int)obj);
}
注意:一般的在接受通知的一方在接受完通知后需要remove监听。
方法:
void removeObserver(CCObject *target,const char *name);int removeAllObservers(CCObject *target);
(注意第二个方法: returns the number of observers removed)
例子:
HelloWorld::~HelloWorld()
{CCNotificationCenter::sharedNotificationCenter()->removeObserver(this, MY_NOTIFICATION);// CCNotificationCenter::sharedNotificationCenter()->removeAllObservers(this);
}
很简单吧!
参考文章: http://www.plungeinteractive.com/blog/2012/09/20/notification-center-extension-for-cocos2d-x/
Cocos2d-x CCNotificationCenter 通知中心相关推荐
- 通知中心NSNotificationCenter的使用
通知中心NSNotificationCenter的使用 Cocoa框架中,通知中心以及KVO都属于设计模式中的观察者. Source 在使用通知中心之前,对通知中心类进行了简单的封装,以便可读性更强. ...
- IOS中通知中心(NSNotificationCenter)的使用总结
IOS中通知中心NSNotificationCenter应用总结 一.了解几个相关的类 1.NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量. 这个成员变量是这个消息对象 ...
- iOS 通知中心(NSNotificationCenter)
NSNotificationCenter 在这里第一步和第二步的顺序可以互换,一般楼主我喜欢先在需要发送消息的页面发送消息,然后再在需要监听的页面注册监听.要注意的是不管是通知中心还是KVO都需要在页 ...
- 通知中心 NSNotificationCenter 的简单使用方法
NSNotificationCenter(通知中心) [注意]需再dealloc中移除观察者 获取通知中心单例对象 NSNotificationCenter *center=[NSNotifi ...
- iOS开发之通知中心(NSNotificationCenter)
前言 面向对象的设计思想是把行为方法封装到每一个对象中,以用来增加代码的复用性.正是这种分散封装,增加了对象之间的相互关联,总是有很多的对象需要彼此了解以及相互操作! 一个简单示例说明这种交互产生的对 ...
- mac android通知中心,少数派一周快读:iOS 8 输入法大比拼,升级 Mac 新系统的 6 项准备,如何保持 Android 通知栏整洁...
又到少数派一周快读的时间,上周我们迎来了苹果与谷歌两大豪门的新品发布,看来未来的移动互联网市场上两强相争的局面将会持续下去.新系统新特性即将上线,我们也一起来盘点一下上周最热和最值得推荐的内容吧. 上 ...
- OC 观察者模式(通知中心,KVO)
什么是观察者模式??? A对B的变化感兴趣,就注册为B的观察者,当B发生变化时通知A,告知B发生了变化.这就是观察者模式. 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象 ...
- Mac OS X 通知中心彻底删除网站的通知
前几天发现莫名其妙电脑右上角会蹦出来"北美省钱快报"的通知. 上网找了一圈,都是说要删除~/Library/Application Support/下的blabla, 这个方法可能 ...
- 解决卸载CleanMyMac后通知中心仍有通知的问题
前几天安装了CleanMyMac 3,最后实在付不起激活的费用,于是就在应用程序中移到了废纸篓. 今天打开通知中心看到仍然有这个软件的通知,最后删除了一些文件后解决了这个问题. 第一步:删除/Appl ...
最新文章
- php float浮点型 用round方法比较
- 客户端相关知识学习(一)之混合开发,为什么要在App中使用H5页面以及应用场景、注意事项...
- AndroidStudio Refreshing Gradle Project编译更新Gradle卡住问题
- 设计模式 - Composite
- linux 安装nfs 客户端,在CentOS 7上安装NFS服务器和客户端
- mysql 多项式_mysql主从复制原理及实现
- 5G 时代,AIoT 该如何布局?
- java四种内部类区别_浅谈Java中的四种内部类
- 类的多态性:成员变量与成员方法访问特点(C++、Java)
- 操作系统 第二部分 进程管理(六)
- html让font居中,用CSS做将如何字体居中?
- 局域网上传文件_3分钟内Windows网盘搭建并实现局域网文件共享
- 2020-06-10
- IPv6与IPv4的区别 网信办等三部推进IPv6规模部署
- APM-Skywalking调研及实施报告
- 谷歌浏览器崩溃设置崩溃_用浏览器崩溃
- R for LC+cohort
- 互联网+国家战略-整理
- Redis 的 Sentinel 系统
- 环境配置:前端程序员快速进行开发