相信接触过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 通知中心相关推荐

  1. 通知中心NSNotificationCenter的使用

    通知中心NSNotificationCenter的使用 Cocoa框架中,通知中心以及KVO都属于设计模式中的观察者. Source 在使用通知中心之前,对通知中心类进行了简单的封装,以便可读性更强. ...

  2. IOS中通知中心(NSNotificationCenter)的使用总结

    IOS中通知中心NSNotificationCenter应用总结 一.了解几个相关的类 1.NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量. 这个成员变量是这个消息对象 ...

  3. iOS 通知中心(NSNotificationCenter)

    NSNotificationCenter 在这里第一步和第二步的顺序可以互换,一般楼主我喜欢先在需要发送消息的页面发送消息,然后再在需要监听的页面注册监听.要注意的是不管是通知中心还是KVO都需要在页 ...

  4. 通知中心 NSNotificationCenter 的简单使用方法

    NSNotificationCenter(通知中心)   [注意]需再dealloc中移除观察者   获取通知中心单例对象 NSNotificationCenter *center=[NSNotifi ...

  5. iOS开发之通知中心(NSNotificationCenter)

    前言 面向对象的设计思想是把行为方法封装到每一个对象中,以用来增加代码的复用性.正是这种分散封装,增加了对象之间的相互关联,总是有很多的对象需要彼此了解以及相互操作! 一个简单示例说明这种交互产生的对 ...

  6. mac android通知中心,少数派一周快读:iOS 8 输入法大比拼,升级 Mac 新系统的 6 项准备,如何保持 Android 通知栏整洁...

    又到少数派一周快读的时间,上周我们迎来了苹果与谷歌两大豪门的新品发布,看来未来的移动互联网市场上两强相争的局面将会持续下去.新系统新特性即将上线,我们也一起来盘点一下上周最热和最值得推荐的内容吧. 上 ...

  7. OC 观察者模式(通知中心,KVO)

    什么是观察者模式??? A对B的变化感兴趣,就注册为B的观察者,当B发生变化时通知A,告知B发生了变化.这就是观察者模式. 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象 ...

  8. Mac OS X 通知中心彻底删除网站的通知

    前几天发现莫名其妙电脑右上角会蹦出来"北美省钱快报"的通知. 上网找了一圈,都是说要删除~/Library/Application Support/下的blabla, 这个方法可能 ...

  9. 解决卸载CleanMyMac后通知中心仍有通知的问题

    前几天安装了CleanMyMac 3,最后实在付不起激活的费用,于是就在应用程序中移到了废纸篓. 今天打开通知中心看到仍然有这个软件的通知,最后删除了一些文件后解决了这个问题. 第一步:删除/Appl ...

最新文章

  1. php float浮点型 用round方法比较
  2. 客户端相关知识学习(一)之混合开发,为什么要在App中使用H5页面以及应用场景、注意事项...
  3. AndroidStudio Refreshing Gradle Project编译更新Gradle卡住问题
  4. 设计模式 - Composite
  5. linux 安装nfs 客户端,在CentOS 7上安装NFS服务器和客户端
  6. mysql 多项式_mysql主从复制原理及实现
  7. 5G 时代,AIoT 该如何布局?
  8. java四种内部类区别_浅谈Java中的四种内部类
  9. 类的多态性:成员变量与成员方法访问特点(C++、Java)
  10. 操作系统 第二部分 进程管理(六)
  11. html让font居中,用CSS做将如何字体居中?
  12. 局域网上传文件_3分钟内Windows网盘搭建并实现局域网文件共享
  13. 2020-06-10
  14. IPv6与IPv4的区别 网信办等三部推进IPv6规模部署
  15. APM-Skywalking调研及实施报告
  16. 谷歌浏览器崩溃设置崩溃_用浏览器崩溃
  17. R for LC+cohort
  18. 互联网+国家战略-整理
  19. Redis 的 Sentinel 系统
  20. 环境配置:前端程序员快速进行开发

热门文章

  1. css列表大全,CSS中li列表样式汇总大全,全实例展示
  2. linux下的c语言编程实验4,实验四-Linux下的C语言编程
  3. java报错空指针异常_springboot全局异常捕获,真香
  4. Android让控件位于底部
  5. eclipse连接数据库
  6. Eclipse 自动清理未使用 Import
  7. 南京江宁软通动力怎么样_南京有什么美食?有哪些必游景点?
  8. LKCOS:基于程序移植的COS系统
  9. 【转载】2008年世界最大50家石油公司综合排名(按六项指标综合测算)
  10. VB 获取计算机的分辨率大小