cocos2d JS 自定义事件分发器(接收与传递数据) eventManager
2017-07-27 01:10 罗任德 阅读(1129) 评论(0) 编辑 收藏 举报简而言之,它不是由系统自动触发,而是人为的干涉
较多情况用于传递数据
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);
将此事件分发出去,从而触发之前监听器中所实现的逻辑。