-
Creator 版本:3.3.1
-
目标平台:chrome
-
重现方式:单独写个组件,设置@executionOrder(10),挂在Sprite节点上,在onEnable尝试获取Sprite的material,报错为空。检查调用栈发现自己写的组件还是优先调用了onEnable,没有延后调用。
-
首个报错: 空指针
10是后执行吧。。。
“优先级小于 0 的组件将会优先执行,优先级大于 0 的组件将会延后执行”
期望是这样,但是没有,我延后这个组件执行,但是还是比Sprite先执行了。
我测试了一下,如果两个component,必须两个都写executionOrder才会按照需要的顺序执行,
其它情况好像不管怎样都是自定义的component先执行。
你要取material你直接在start里取不就好了吗,onEnable本来就有一种当前node未完全加载好的情况,onEnable只能表示本组件完成了加载。
懂了,是我用错了……感谢
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。