Cocos2dx 学习笔记26 CCNotificationCenter的使用

前端之家收集整理的这篇文章主要介绍了Cocos2dx 学习笔记26 CCNotificationCenter的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在ios开发中,经常会使用到通知这种模式,在coscos2dx中也移植了这种模式,CCNotificationCenter

CCNotificationCenter被设计成了一个单例模式。其使用方法和OC中差不多,在ios开发中经常是再一个界面出现或初始化的时候,注册消息通知,在界面消失时取消通知。CCNotificationCenter的用法如下:@H_404_6@

先来看下cocos2dx中注册通知函数

/** @brief Adds an observer for the specified target.@H_404_6@ * @param target The target which wants to observe notification events.@H_404_6@ * @param selector The callback function which will be invoked when the specified notification event was posted.@H_404_6@ * @param name The name of this notification.@H_404_6@ * @param obj The extra parameter which will be passed to the callback function.@H_404_6@ */@H_404_6@ void addObserver(CCObject *target,@H_404_6@ SEL_CallFuncO selector,@H_404_6@ const char *name,@H_404_6@ CCObject *obj);@H_404_6@

@H_404_6@

由此可见我们该这样来添加一个观察者:

CCNotificationCenter::sharedNotifCenter()->addObserver(this,callfuncO_selector(HelloWorld::menuCloseCallback),TONGZHI,NULL); //注册消息

@H_404_6@

void HelloWorld::menuCloseCallback(CCObject* pSender) { //移除监听事件 CCLog("收到监听 并且移除!"); CCNotificationCenter::sharedNotifCenter()->removeObserver(this,TONGZHI); } 写好以后 只要在需要的地方抛出通知 即可 CCNotificationCenter::sharedNotifCenter()->postNotification(TONGZHI,NULL);

原文链接:https://www.f2er.com/cocos2dx/346328.html

猜你在找的Cocos2d-x相关文章