首先放上Unity生命周期图

初始化阶段:Awake->OnEnable->Start
注意OnEnable在Start之前
Awake和Start的区别:主要是有没有勾选组件enable的区别
Awake:不管有没有勾选组件启用,都会在GameObject生成后一开始调用
Start:必须勾选组件后才会调用,不然不会调用(其他所有生命周期函数都是这样,只有Awake例外)
如下:

没有勾选MonoTest,Awake也会调用,但是其他的周期函数不会调用

勾选上了,则其他的周期函数开始调用
但是如果把GameObject隐藏掉,那么所有的周期函数都不会执行了
本文详细解释了Unity中的Awake、OnEnable和Start函数在组件启用和隐藏状态下的行为差异,强调了OnEnable在Start之前的特殊性以及何时会触发这些函数。
927

被折叠的 条评论
为什么被折叠?



