[0]可能问题没有描述清楚继续讨论一下吧
https://ask.layabox.com/question/52137
继续上一个帖子讨论一下
onAdded方法只会执行一次,因为是想每次onEnable的时候都去执行,这样逻辑就只用统一在onEnable里面去写,如果用onAdded的话,onEnable方法里面还要写一遍。
test脚本执行onEnable的时候它的active是false,显然这个位置是可以做优化处理的
重新传个更优说服力的demo
继续上一个帖子讨论一下
onAdded方法只会执行一次,因为是想每次onEnable的时候都去执行,这样逻辑就只用统一在onEnable里面去写,如果用onAdded的话,onEnable方法里面还要写一遍。
test脚本执行onEnable的时候它的active是false,显然这个位置是可以做优化处理的
重新传个更优说服力的demo
没有找到相关结果
已邀请:
2 个回复
layabox
赞同来自:
组件的激活流程,在onEnable之前已经完成了,这时候你再设置不是没生效,而是按流程,已经启动过一次了,你才会误以为无效了。你可以加一个点击事件或别的你测一下,就明白了,后续的脚本已经停止响应。
如果你连onEnable之前的组件事件,也不想启动。想着一开始就要禁用。无论你是在你那个示例的根节点脚本Main中,还是图像组件脚本的test中,只要你是在onAdded生命周期里去控制图像的脚本active状态,就都可以满足你的需求。至于用于图像显示的visible,你什么时候控制都行。这是节点对象的控制,不涉及脚本流程。
如果你不想在onAdded里多写一次的active的状态,想每次在onEnable里控制,完全可以在编辑器里就把UI对象的激活状态给默认的勾选去掉,如下图所示。这样默认就是不激活状态,你可以通过onEnable里每次进行控制。
1567600631用户
赞同来自: