cocos creator 的事件响应

    xiaoxiao2024-01-03  209

    一、触摸事件

    监听触摸事件

    this.node.on(EventType,callback,target,[useCapture])

    例:

    this.node.on(cc.Node.EventType.TOUCH_START,function(e){ console.log("TOUCH_START"); },this);

    1.EventType代表事件类型

    事件类型含义cc.Node.EventType.TOUCH_START触摸开始cc.Node.EventType.TOUCH_MOVE在目标区域内移动时cc.Node.EventType.TOUCH_END从目标区域内离开屏幕时cc.Node.EventType.TOUCH_CANCEL从目标区域外离开屏幕时cc.Node.EventType.ANCHOR_CHANGED当节点锚点改变时cc.Node.EventType.COLOR_CHANGED当颜色改变时

    2.callback为回调函数,当触发活动时,调用此函数 3.target为调用此函数的对象,即谁调用了此函数

    回调函数里边可以传入一个参数event,代表触摸对象,是一个cc.Touch对象,同时也是 一个cc.Event对象。 其比较常用的方法为, event.getLocation(), 返回一个位置坐标。 event.getDelta(), 距离上一次触摸变化了多少

    关闭触摸事件

    this.node.off(EventType,callback,target,[useCapture])

    移除当前对象的事件

    this.node.targetOff(this);

    事件冒泡: 子节点的触摸事件支持向父节点一层一层的传递,如果父节点也监听了相对应的触摸事件,就会触发对应事件,这个叫做事件冒泡。 可以调用cc.Event对象的方法停止事件冒泡: event.stopPropagationImmediate() 立即停止传递当前事件 event.stopPropagation() 停止传递当前事件

    二、键盘事件

    cc.systemEvent.on(EventType, callback, target);

    事件类型有: cc.SystemEvent.EventType.KEY_DOWN 按键被按下 cc.SystemEvent.EventType.KEY_UP 按键抬起

    键盘回调函数:

    function(event){ switch(event.keycode){ case cc.KEY.space: cc.log("space"); break; } }

    cc.KEY.space代表空格

    三、自定义事件

    this.node.on("my_event", function(e){ console.log("my_event", e.detail); }, this);

    此处e为cc.Event.EventCustom的实例。

    派发事件

    自派送: this.node.emit(string,[detail]) 只能自己派送给自己 冒泡派送: dispatchEvent(new cc.Event.EventCustom(string, true)); 第一个参数代表事件名称,第二个参数true代表冒泡派送
    最新回复(0)