MonoBehaviour派生出来的类会作为Unity3D中的Component挂载在GameObject上,而GameObject会在编辑器的多个地方被显示,如场景编辑器内、Prefab选中时等,这些时候都需要调用它们的构造函数来初始化成员变量的默认值,以便在编辑器中显示它们。也就是说,构造函数不光在游戏运行时会被调用,它的调用时机是“未知的”。而Awake和Start只会在游戏运行时被调用,并严格定义了它们的调用时机和顺序。
所以,构造函数不可以描述游戏逻辑,请用Awake和Start。
所以,构造函数不可以描述游戏逻辑,请用Awake和Start。