Unity脚本在层级面板中的执行顺序测试3
断断续续的写了3篇,以后有时间可以做成一个系列了
前面2篇测试了GameObject的顺序,以及Awake和OnEnable的时机:
Unity脚本在层级面板中的执行顺序测试1
http://www.cnblogs.com/hont/p/4298110.html
Unity脚本在层级面板中的执行顺序测试2
http://www.cnblogs.com/hont/p/5034419.html
“Unity脚本在层级面板中的执行顺序测试1”中,得到一个结论:
1.非Prefab的GameObject,执行顺序和他被创建出来的时间有关,越后创建的执行顺序越优先。
2.Prefab化的GameObject,执行顺序由根节点向下。
本以为组件的顺序和GameObject差不多,但结果大跌眼镜。不管非Prefab化还是Prefab的,执行顺序都和创建时间有关
非Prefab:
Prefab:
那么,既然和创建顺序有关,改变执行顺序可以这么来:(测了一下,最好不要直接改源文件,源文件里的顺序更乱...)
先创建key为a3的脚本,然后a2,然后a1。然后调换脚本顺序。
这样,按照创建时间排序则为:a3->a2->a1