首先放上Unity生命周期图
初始化阶段:Awake->OnEnable->Start
注意OnEnable在Start之前
Awake和Start的区别:主要是有没有勾选组件enable的区别
Awake:不管有没有勾选组件启用,都会在GameObject生成后一开始调用
Start:必须勾选组件后才会调用,不然不会调用(其他所有生命周期函数都是这样,只有Awake例外)
如下:
没有勾选MonoTest,Awake也会调用,但是其他的周期函数不会调用
勾选上了,则其他的周期函数开始调用
但是如果把GameObject隐藏掉,那么所有的周期函数都不会执行了