简而言之,它不是由系统自动触发,而是人为的干涉
较多情况用于传递数据
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);
将此事件分发出去,从而触发之前监听器中所实现的逻辑。