[LayaAir3]Script类型组件在销毁时没有在setupScript时添加的节点事件监听
问题:
经过反复阅读引擎3.3的源码后发现,Script类型组件在销毁时没有在setupScript时添加的节点事件监听,这会导致Script节点复用时(实现onReset方法),原来旧owner触发onMouseDown等回调时,还会调用一次相关回调方法。即每次setupScript都注册一次相关节点回调。
希望在Component.protype._destroy方法中,在回收Script组件之前,增加对当前owner的监听移除,即增加this.owner.offAllCaller(this);
经过反复阅读引擎3.3的源码后发现,Script类型组件在销毁时没有在setupScript时添加的节点事件监听,这会导致Script节点复用时(实现onReset方法),原来旧owner触发onMouseDown等回调时,还会调用一次相关回调方法。即每次setupScript都注册一次相关节点回调。
希望在Component.protype._destroy方法中,在回收Script组件之前,增加对当前owner的监听移除,即增加this.owner.offAllCaller(this);
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
LayaAir大为
赞同来自: