测试-Unity组件的调用顺序

断断续续的写了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:

测试-Unity组件的调用顺序_第1张图片

 

 

Prefab:

测试-Unity组件的调用顺序_第2张图片

 

 

那么,既然和创建顺序有关,改变执行顺序可以这么来:(测了一下,最好不要直接改源文件,源文件里的顺序更乱...)

先创建key为a3的脚本,然后a2,然后a1。然后调换脚本顺序。

这样,按照创建时间排序则为:a3->a2->a1

测试-Unity组件的调用顺序_第3张图片

你可能感兴趣的:(测试-Unity组件的调用顺序)