我在加載場景后,發現 load沒有執行,雖然不太確定是不是執行順序問題,但肯定的是并不是所有場景中所有脚本執行完load方劑,再執行其他組件的方法
是的,组件的onLoad是在组件首次active时执行的。。。。。。
你的断点变半透明了,半透明断点说明你的脚本没正确加载,或者别的什么原因。总之不是没执行到。
問下 onload 是在第一次active 才執行的? 如果active == false不執行?
不是斷電的事情 ,斷點哪裏已經執行過了
大神在綫快回答
是的。。。。。。。。。。。。。。。。。。。。
![]()
active == false 不會執行onload? 爲什麽這樣設定
既然要执行脚本为什么不激活
激活了啊
因为没激活,就没 load
沒激活 不是不執行onEnable 嗎,按照設計 不i管active 等不等於fals ,都應該執行onload,和u3d 封裝有點衝突,onload本來就是賦值的地方,初始化ui的 ,就算active 是false 也必須執行onload方法
Creator 没必要也不可能完全和 Unity 一样啊…… 又不是像某像素级照抄的 Copy2Engine。
这么说的设计出处在哪?有依据吗?
现在一样可以赋值啊……
如果我加載場景,如果場景中的對象a 的activ = false 的話 onload 不會執行?這樣理解對嗎 ,
這樣設計不好 就像上面那個圖裏,必須在fresh()方法裏重新賦值,要不然就會出錯,你能解決上述問題不。。。
没那么复杂,官方这种思路没什么问题。
在你的fresh方法最前面加上 this.node.active = true; 就可以了,我就不相信你刷新不是为了显示
是的
我看不懂你上面的方法有什么问题。
其实就算 active = false 时也执行 onLoad,那节点还未加入场景前是否要 onLoad 呢? Cocos 和 Unity 不同的地方是节点创建出来默认都不在场景中的。这时是否要 onLoad?如果这时不 onLoad,那还是会遇到 onLoad 没调用的问题。如果这时要 onLoad,那就会遇到 onLoad 时节点不在场景中(无父子节点)的问题。



