测试Unity不同层级下的脚本调用顺序
来源:互联网 发布:sql统计表字段数 编辑:程序博客网 时间:2024/06/06 03:14
写一个简单的测试脚本如下:
public class testOrder : MonoBehaviour { void Start() {Debug.Log(gameObject.name+" Start!"); } void Awake() {Debug.Log(gameObject.name+" Awake!"); } void OnEnable() {Debug.Log(gameObject.name+" OnEnable!"); } void Update() { if (Time.frameCount == 10) {Debug.Log(gameObject.name+" Update at 10!"); } }}
建立三个GameObject,层级结构如下:
给3个GameObject全部挂上此脚本,运行后得到的顺序如下:
结论一:当初始都是active状态,完全是按照Inspector由下向上的顺序在运行。
而OnEnable是紧跟着Awake执行,而不是把所有的对象Awake执行后才依次执行OnEnable(PS: OnDisable也是紧跟着Distroy后执行的)
===========================分割线=============================
如果把上述3个对象全部放入同一个Root下面,并把Root设成非激活状态
然后在运行状态激活Root,得到的结果如下:
结论二,在运行状态被激活,按照Inspector由上向下的顺序在运行。
如果在将上述的Root关闭,则3个对象如下顺序关闭:
这个顺序很容易理解,子对象肯定是先于父对象被关闭,而同级的运行顺序同结论二
===========================分割线=============================
下面来测试一下同一个对象上挂多个脚本的运行顺序,
测试结果不一一贴图了,反正结果和前面2个结论类似
结论三:同一个对象下脚本组件的执行顺序如下:
如果初始状态,对象是激活状态,那么按由下到上的顺序执行。
如果运行状态下,激活对象,则按由上到下的顺序执行。
PS:如果用Move Up修改了脚本组件的顺序,对以上运行顺序没有影响,说脚本挂到对象上的顺序,决定了执行顺序
阅读全文
0 0
- 测试Unity不同层级下的脚本调用顺序
- Unity不同脚本之间的执行顺序
- Unity不同脚本之间的执行顺序
- [Unity-20] Unity不同脚本之间的执行顺序
- unity 改变子物体的层级顺序
- unity代码修改子物体层级的顺序
- Unity脚本的执行顺序
- Unity脚本的执行顺序
- Unity中的层级以及渲染顺序
- 深入理解Unity脚本的执行顺序
- Unity脚本函数的执行顺序
- 深入理解Unity脚本的执行顺序
- Unity 添加脚本后的执行顺序
- Unity脚本事件执行的顺序
- unity 脚本的执行先后顺序
- Unity脚本事件执行的顺序
- Android 代码在Unity中的层级调用
- Unity脚本执行顺序
- 嵌入式系统学习——STM32之电容型触摸屏
- Java知识总结索引
- 线性回归与逻辑回归思考
- 解决无法将java项目部署到tomcat中去,在公司电脑里的项目回家。。
- 转]C语言图形编程(五) -二维图形变换①
- 测试Unity不同层级下的脚本调用顺序
- jsp中Session和Cookie 的区别
- 冲刺NOI2017 (24) A (后缀数组 回滚莫队)
- POJ 1818 ATP 笔记
- TestNG 中决定测试案例的执行顺序最好的办法
- Java Script-Lesson02
- Preparation
- hIve 和hbase的区别
- 基于时间序列模型的预测