发布时间:2026/7/29 16:27:44
【2014-02-19】cocos2dx学习笔记:消息注册机制 [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2014-02-19 标题cocos2dx学习笔记消息注册机制分类编程 / C C / cocos2dx 标签cocos2dxcocos2dx学习笔记消息注册机制在需要发送消息的地方比如点击下一关按钮的回调函数post消息即可post有两种类型带数据和不带数据在任何地方只要你对某个消息感兴趣你就可以在那里监听该消息。假如你对kXxxxName消息感兴趣要做的本文转自【 http://www.cnblogs.com/imoon/archive/2013/01/15/2860877.html 】有删改。游戏中经常遇到几个层之间互相通信的问题。比如当前页是游戏页游戏结束的时候直接显示结算页不进行转场了结算页上又有按钮。这时如果要响应按钮点击事件处理一些数据之类的需要包含别的头文件。这样不太好。像上边这种类似的问题就可以使用观察者模式。在需要发送消息的地方比如点击下一关按钮的回调函数post消息即可post有两种类型带数据和不带数据voidpostNotification(constchar*name);voidpostNotification(constchar*name,CCObject*object);name:消息的名称可以当成是消息的唯一标识一般这样定义nameconstchar*constkXxxxNamexxxx;发送消息通知的例子如下CCNotificationCenter::sharedNotificationCenter()-postNotification(kXxxxName);原作者此处认为CCNotificationCenter在extension命名空间中在cstriker1407的cocos2dx版本中Center在cocos2dx命名空间中在任何地方只要你对某个消息感兴趣你就可以在那里监听该消息。假如你对kXxxxName消息感兴趣要做的首先重写onEnter()在onEnter()里面监听消息监听消息的原型如下voidaddObserver(CCObject*target,SEL_CallFuncO selector,constchar*name,CCObject*obj);具体实现代码如下voidA::onEnter(){CCLayer::onEnter();CCNotificationCenter::sharedNotificationCenter()-addObserver(this,callfuncO_selector(A::func),// 处理的消息的回调函数kXxxxName,// 感兴趣的消息名称NULL);// 保存消息中传递的数据}这样的话如果有消息来得话就会调用回调函数来处理了。其次也很重要要重写onExit()方法释放掉消息观察者如果不释放会发生内存泄露的函数原型如下voidremoveObserver(CCObject*target,constchar*name);// name就是消息的名称即要释放掉的那个消息具体实现代码如下voidA::onExit(){CCNotificationCenter::sharedNotificationCenter()-removeObserver(this,kXxxxName);// 消息名称CCLayer::onExit();}回调函数声明如下voidA::func(cocos2d::CCObject*obj){}

相关新闻

2026/7/29 16:27:44

【2014-02-11】cocos2dx的中文乱码问题

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2014-02-11 | 标题:cocos2dx的中文乱码问题 | 分类: 编程 / C && C / cocos2dx &…

2026/7/29 16:27:44

完整配置Mesa3D图形驱动:Windows系统高级渲染解决方案

完整配置Mesa3D图形驱动:Windows系统高级渲染解决方案 【免费下载链接】mesa-dist-win Pre-built Mesa3D drivers for Windows 项目地址: https://gitcode.com/gh_mirrors/me/mesa-dist-win Mesa3D是一款功能强大的开源图形驱动栈,为Windows系统提…

2026/7/29 17:23:15

零售数据运营实战:从消费者画像到动态定价

1. 零售科技数据运营的核心价值零售行业正在经历一场由数据驱动的深刻变革。过去五年,全球零售企业在大数据技术上的投入年均增长达到23.6%,这个数字背后是无数企业通过数据运营实现库存周转率提升40%、营销转化率提高35%的真实案例。我在为多家连锁零售…

2026/7/29 17:23:15

数据库中间件选型:ShardingSphere与Vitess的架构差异与适用场景

数据库中间件选型:ShardingSphere与Vitess的架构差异与适用场景 当单库无法承载业务增长时,数据库中间件成为分库分表的必经之路。Apache ShardingSphere和Vitess是这一领域的两大代表,但两者的设计哲学和架构差异巨大。本文基于一个真实的PO…

2026/7/28 13:41:25

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

2026/7/29 0:02:56

商标注册找代理还是自己办?算清这笔“时间账”和“风险账

商标注册,找代理还是自己办?帮你算清这笔“时间账”和“风险账”“商标注册,找代理还是自己办?”这是深圳每个创业者都会遇到的灵魂拷问。有人说找代理是花冤枉钱,有人说自己办风险太高。到底哪种更划算?本…

2026/7/29 0:02:56

免费开源RPA工具OpenRPA:企业级自动化流程的终极解决方案

免费开源RPA工具OpenRPA:企业级自动化流程的终极解决方案 【免费下载链接】openrpa Free Open Source Enterprise Grade RPA 项目地址: https://gitcode.com/gh_mirrors/op/openrpa 你是否厌倦了每天重复枯燥的数据录入和报表整理工作?是否希望有…

2026/7/29 0:02:56

KMS智能激活工具:一站式解决Windows和Office激活难题

KMS智能激活工具:一站式解决Windows和Office激活难题 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为系统弹出激活提示而烦恼吗?KMS智能激活工具能够帮你彻底告别W…

2026/7/29 13:12:43

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…