cocos2d-js v3事件管理器

    总概:

    1、时间监听器(cc.EventListener)封装用户的事件处理逻辑。

    2、事件管理器(cc.eventManager)管理用户注册的事件监听器。

    3、事件对象(cc.Event)包含事件相关信息的对象。

    事件监听器包含以下几种类型:

    1、触摸事件监听器(cc.EventListenerTouch)

    2、键盘事件监听器(cc.EventListenerKeyboard)

    3、加速计事件监听器(cc.EventListenerAcceleration)

    4、鼠标事件监听器(cc.EventListenerMouse)

    5、自定义事件监听器(cc.EventListenerCustom)

(事件管理器)例子:

     var listener = cc.EventListener.create({
            event:cc.EventListener.TOUCH_ONE_BY_ONE,
            onTouchBegan:function(touch,event){
                if(cc.rectContainsPoint(event.getCurrentTarget().getBoundingBox(),touch.getLocation())){

                      cc.log("点击后移除该事件监听器!");

                      cc.eventManager.removeListener(listener);

                }
            }

    });

     cc.eventManager.addListener(listener, label);//label为需要监听的对象

(自定义事件)例子:

       //添加自定义事件
        var myListener = cc.EventListener.create({
            event:cc.EventListener.CUSTOM,
            eventName:"MyEvent",
            callback:function(event){
                cc.log("data is " + event.getUserData());
            }
        });
        //事件派发
        var e = new cc.EventCustom("myEvent");
        cc.eventManager.dispatchEvent(e);

原文地址:https://www.cnblogs.com/recock/p/4191354.html