[0]看下这个问题是不是Bug

需求:每次场景onEnable的时候先将图片隐藏并且不执行图片的脚本
期望:图片active=false的时候不执行onEnable
实际:图片active=false的时候执行了onEnable
已邀请:

layabox

赞同来自:

这不是BUG,是你没有理解组件的与组件生命周期导致的。
 
组件的激活流程,在onEnable之前已经完成了,这时候你再设置不是没生效,而是按流程,已经启动过一次了,你才会误以为无效了。你可以加一个点击事件或别的你测一下,就明白了,后续的脚本已经停止响应。
 
如果你连onEnable之前的组件事件,也不想启动。想着一开始就要禁用。无论你是在你那个示例的根节点脚本Main中,还是图像组件脚本的test中,只要你是在onAdded生命周期里去控制图像的脚本active状态,就都可以满足你的需求。至于用于图像显示的visible,你什么时候控制都行。这是节点对象的控制,不涉及脚本流程。
 
所以,这不是BUG,是你对组件的理解问题。

Laya_Fred

赞同来自:

设置active为false后执行的onEnable是添加图片及其组件到场景层级中时候触发的,如果需要在根节点脚本组件上阻止图片脚本组件的enable方法,可以获取到图片脚本组件后设置enabled或者在图片脚本组件的onAdded声明周期内根据owner的active状态来设置enabled状态。

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作