关于脚本旁边的勾

如果把脚本旁边的勾去掉,在运行时这个脚本貌似就废了,onLoad永远不会触发,即使手动将它的enabled设为true,也不会再触发了

enabled 设为 true 后,是会触发的

是么?是不是有点不妥啊。这样onEnable是在onLoad之前执行的,好多东西初始化都放onLoad里面,先执行onEnable结果好多报错

onEnable 执行前,会保证先执行 onLoad。

那你说的与我的实际结果不一致啊

你好,这是因为 onLoad 只会调用一次。并且 onLoad 在脚本 enabled 之前就会调用。所以你后来 enabled 以后,onLoad 不会重复再调用了

没有啊 我这边onload里面打印了一句话,结果从始至终都没出现那句打印

弱弱的说一下,onLoad是在场景加载完成后执行的回调

但是node.active = false的情况下,引擎是不会主动调用这个节点的

所以场景加载完的时候没有调用你这个节点,等你node.active = true的时候,场景早就加载完成了,所以不会调用你node下组件的onLoad

如果你需要用active做效果,还是用onEnable吧

那可能你的节点也没有 active。或者你上传个 demo 我看看。