cocos2d JS 自定义事件分发器(接收与传递数据) eventManager

简而言之,它不是由系统自动触发,而是人为的干涉

较多情况用于传递数据

    var _listener1 = cc.EventListener.create({
        event: cc.EventListener.CUSTOM,
        eventName: "game_custom_event1",
        callback: function(event){
            // 可以通过getUserData来设置需要传输的用户自定义数据
            statusLabel.setString("Custom event 1 received, " + event.getUserData() + " times");
        }
    });    
    cc.eventManager.addListener(this._listener1, 1);

  /*
定义了一个 “自定义事件监听器”,实现了一些逻辑, 并且添加到事件分发器。那么以上逻辑是在什么情况下响应呢?
  */



  //接收
    ++this._item1Count;
    var event = new cc.EventCustom("game_custom_event1");
    event.setUserData(this._item1Count.toString());
    cc.eventManager.dispatchEvent(event);  


创建了一个自定义事件(EventCustom)对象 ,并且设置了其用户自定义(UserData)数据
手动调用cc.eventManager.dispatchEvent(event); 
将此事件分发出去,从而触发之前监听器中所实现的逻辑。
原文地址:https://www.cnblogs.com/luorende/p/7203592.html