派送事件

使用dispatchEvent派发可以冒泡的形式一层一层向父物体传递事件。

image.png

//Label
const {ccclass, property} = cc._decorator;

@ccclass
export default class Helloworld extends cc.Component {

   start()
   {
       this.node.on("say",function(){
        console.log(this.node.name + ":Hello")
       }.bind(this))

       //派送自定义事件 是否冒泡传递
       this.node.dispatchEvent(new cc.Event.EventCustom("say",true))
   }
}
//Background、Btn、Canvas
const {ccclass, property} = cc._decorator;

@ccclass
export default class LoadTest extends cc.Component {

    start () {
        
        this.node.on("say",function(event){
            console.log(this.node.name + ":Hello")
            if(this.node.name == "Btn")
            {
                event.stopPropagation() //停止向上派送事件
            }
        }.bind(this))
    }

    onDestroy()
    {
        //关闭监听事件
        this.node.off("say")
    }
}


image.png


首页 我的博客
粤ICP备17103704号