prefab怎么设置监听事件?

我的版本是2.4.3
代码如下:

onLoad () {

        //游戏结束dialog
        this.mDailog = cc.instantiate(this.dialog_prefab)
        this.mDailog.setParent(this.node)
        this.dailogScript = this.mDailog.getComponent("dialog_prefab_script")
        this.mDailog.on(cc.Node.EventType.TOUCH_END,(e)=>{
            cc.log("触发回调1")//prefab的node绑定的事件无法触发
            cc.director.loadScene("helloworld");  
            
        })
        
        
        this.node.on(cc.Node.EventType.TOUCH_END,(e)=>{
            cc.log("触发回调2")//非prefab的node绑定的事件可以正常触发
            
        })
}

你的代码没问题,你检查一下是否其它节点把 mDailog 的触摸事件拦截了

this.mDailog height width 值大于0吗

1赞

this.mDailogheight width 都是0。改了之后就ok了。

该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。