• Cocos2d-x CCNotificationCenter 通知中心


    相信接触过ios开发的人来说对NSNotificationCenter都不陌生。而在cocos2d-x中也参照这个类,提供了CCNotificationCenter这个类,用作通知中心。

    而我主要是使用 NotificationCenter 进行不同类之间的参数传递。(譬如说在两个layer之间进行参数的传递)
    下面对这个 CCNotificationCenter类如何使用进行简单的介绍。
    1、首先这个类的位置:cocos2dx/support
    发送通知:
    CCNotificationCenter::sharedNotificationCenter()->postNotification(MY_NOTIFICATION, (CCObject*)1);
    
    先添加观察者,然后再发送通知  
    
    接收通知(添加监听)
    
    
    CCNotificationCenter::sharedNotificationCenter()-]]>addObserver(this, callfuncO_selector(HelloWorld::myNotification), MY_NOTIFICATION, NULL);
    
    看一下定义
    
    @param target The target which wants to observe notification events.
    @param selector The callback function which will be invoked when the specified notification event was posted.
    @param name The name of this notification.
    @param obj The extra parameter which will be passed to the callback function.
    void addObserver(CCObject *target, 
    SEL_CallFuncO selector,
    const char *name,
    CCObject
    *obj);
     
    // Handle the notification
    void HelloWorld::myNotification(CCObject* obj)
    {
        CCLOG("Notification achieved. ID: %i", (int)obj);
    }
    
    注意:一般的在接受通知的一方在接受完通知后需要remove监听。
    
    
    
    
    HelloWorld::~HelloWorld()
    {
        CCNotificationCenter::sharedNotificationCenter()->removeObserver(this, MY_NOTIFICATION);
        
    //    CCNotificationCenter::sharedNotificationCenter()->removeAllObservers(this);}
    
  • 相关阅读:
    Kafka常用操作备忘
    Spark执行流程(转)
    Spark性能优化总结
    Kafka学习笔记
    vue-简单例子初始化
    解析字符串模板函数
    js的apply 和 call区别
    水平垂直居中
    IE8 div旋转 Matrix,模拟轮播前后翻页按钮
    jsp 自定义标签-SimpleTagSupport 使用笔记
  • 原文地址:https://www.cnblogs.com/AbelChen1991/p/3831192.html
Copyright © 2020-2023  润新知