图
官方的图:https://docs.unity.cn/cn/2019.4/Manual/ExecutionOrder.html

忽略点
父类和子类有相同的生命周期
问题描述:
当父类和子类都写了Awake ,会执行子类的Awake ,而不会执行父类的Awake
using UnityEngine;
public class ScriptParent : MonoBehaviour
{
private void Awake()
{
Debug.Log("Parent_Awake");
}
}
using UnityEngine;
public class ScriptChild : ScriptParent
{
private void Awake()
{
Debug.Log("___ScriptChild_Awake");
}
}

解决办法:
将父类的生命周期函数 使用virtual 修饰, 在子类的相同生命周期中 用override 重写,并添加base.XXXX(); 调用父类的XXXXX 。



















