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

原文地址:https://www.cnblogs.com/hont/p/5179427.html