1. 调用时机
Start 方法在 Awake 方法之后被调用。具体来说,是在所有脚本的 Awake 方法执行完毕,并且游戏对象被激活后的第一帧更新之前调用。也就是它会在游戏开始时,游戏对象准备好参与游戏逻辑的第一时间被触发。
有点拗口,简单来说就是在Update调用前调用,但又晚于Awake和OnEnable。
从官方给的图就可以看出来,Start处于一个中间位置,如果一个游戏对象在场景加载时是非激活状态,那么它的 Start 方法会在它被激活后的第一帧更新之前调用。
当我们新建一个脚本文件时,Start会被创建好,这和Awake、OnEnable不同。
void Start()
{
print("Start调用");
}
我们可以测试一下Awake、Enable和Start的执行顺序。
private void Awake()
{
print("Awake调用");