您的位置:首页 > 移动开发 > Unity3D

Unity脚本在层级面板中的执行顺序测试2

2015-12-09 22:01 555 查看
上一篇测试了生成顺序对执行顺序的影响,链接:LINK

这篇主要测试一下Awake,OnEnable,Start三个常用消息的循环顺序

1.测试消息循环顺序

先上一个最简单的打印测试

public TMP template;

void Start()
{
var go = Instantiate(template.gameObject);
print("--Creater Modify--");
go.SetActive(true);
}


Dynamic Create



Awake和OnEnable优先被调用,连在此之前调用初始化的机会都没有。

如果将Prefab保存为非激活状态,并在初始化后激活。即可调用初始化代码:





2.2 - 测试GameObject为打开状态,Component非打开状态(后手动打开)



Awake是针对GameObject,而OnEnable是针对组件Component。所以组件不打开依然会调用Awake

当手动打开组件之后,测试结果与之前一致。

动态创建测试:



也和上面的测试结果吻合,不能在设置enable之后调用初始化代码。因为OnEnable是立即调用的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: