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

CocosCreator事件派發使用

2022-07-04 17:30: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://yzsam.com/2022/185/202207041539413577.html

随机推荐