在游戏中 时常会遇到在不同场景中发送消息 比如:当你玩游戏的时候 这个关卡 你获得了三星的评级 但是除了关卡结算面板显示三星以外 我还希望选择关卡界面的关卡图标上同时会知道这个关卡我得到三星评级的事件 但是选择关卡界面和游戏主界面不是一个场景 从代码角度上说就不是一个类 这样几很难过了 但是cocos2dx 有事件响应事件 不仅可以在不同场景中传递消息 还可以广播这个消息也就是说 一个消息可以有N多个响应函数 同时做出响应
<pre name="code" class="cpp">//注册事件监听函数
CCNotificationCenter::shareNotificationCenter()->addObserver(this,callfuncO_selector(TestCalss::MyNotification),"Notfication",NULL);
//在需要发送消息的地方推送消息
CCNotificationCenter::shareNotificationCenter()->postNotification("Notification",(CCObject*)1);
//响应函数为
MyNotification------void MyNotification(CCObject* pSender);
//最后释放监听事件
CCNotification::ShareNotification()->removeObserver(this,"Notification");//释放这个层的一个监听事件
<pre name="code" class="cpp">CCNotification::ShareNotification()->removeAllObserver(this);//清除这个层的所有监听事件