当前位置:网站首页>CocosCreator事件派发使用

CocosCreator事件派发使用

2022-07-04 15:39:00 RemoteDev

1.  事件派发事件机制:  基于事件冒泡,由最底层节点,层层向上派发

如当前节点A有1个字节点,有子节点B,而B节点又有子节点C

那么事件派发方向为   C--->B--->A

 

 

 

子节点C派发事件XXX,其父节B先获得事件XXX控制权,处理该事件,然后再派发给B的父节点A,也可不派发,直接调用

event.propagationStopped = true;

来停止事件传递.这样A节点就不会收到XXX事件.

节点派发事件:    this.node.dispatchEvent(这里传入自定义事件类)

自定义事件类参考下面代码:

// Event 由 cc 模块导入
import { Event } from 'cc';
//类继承Event
class MyEvent extends Event {
    //构造时传入事件名与是否冒泡参数,最后一个参数是事件附加信息
    constructor(name: string, bubbles?: boolean, detail?: any) {
        super(name, bubbles);
        this.detail = detail;
    }
    public detail: any = null;  // 自定义的属性
}

节点事件派发示例  : this.node.dispatchEvent(new MyEvent('XXX',true,'事件附加消息')); 

2.派发事件处理: 直接调用on来处理 

在派发事件节点的上层节点调用on('事件名',(事件对象)=>{});

派发事件处理示例:  this.node.on('XXX',(Event:eventObj)=>{});

3. 一句话简单理解事件派发:     子节点 dispatchEvent    父节点on    

 

 

原网站

版权声明
本文为[RemoteDev]所创,转载请带上原文链接,感谢
https://blog.csdn.net/fittec/article/details/125586804