为什么回收侦听事件就会报错

我在onLoad里面加入按钮侦听:
this.btn_save.on(Button.EventType.CLICK, this.on_save, this);//监听按钮save
然后在onDestroy里面回收侦听:
this.btn_save.off(Button.EventType.CLICK, this.on_save, this);//回收按钮save

在切换场景时就会出错,一堆红色的。然后把回收侦听那句注释掉,运行就正常了。
请教,是不是现在3.x的按钮侦听是自动回收的啊,不能手动回收?

是这样监听和注销的,我测试没有没问题,你的红色是啥报错?发来看看

这个是错误截图

你这this.btn_save在onDestroy无效了吧。你这个是啥节点?怎么赋值的?这个节点位于什么地方?

我怀疑是重启场景那句,我想重启当前场景,就用的director.loadScene(‘game’),这个game就是当前场景的名字,不晓得有没有问题

我查到的是节点销毁的时候自身就会清理监听的事件,可以不手动清理,手动清理的前提的该节点有效,然后一般用于零时的事件(达到一定条件后删除)

onDestroy的时候这个节点已经被销毁了,所以报错了



谢谢,那我干脆都不手动清理了。另外请教下,如果想当前场景重启,是不是用director.loadScene(‘game’),所有的元素都会重置吗,game为当前场景名字,

重启当前场景没试过,你可以测试一下

:+1::+1::+1::+1::+1: