1. 声明周期流程图
2. 注意点
在做项目时,发现脚本的生命周期函数并非都会执行,有的时候甚至Awake、Start、Destroy都不会执行。仔细研究以后,发现有以下两个需要注意的点。
2.1 GameObject是否activeInHierarchy
对于一个prefab,当实例化到场景中后,如果绑定脚本的节点 activeInHierarchy = false, 那么该脚本的任何生命周期函数都不会执行。只有当activeInHierarchy = true时,才会执行生命周期函数。
2.2 脚本是否enabled
当脚本的enabled = true 时,才会执行所有的生命周期函数。
当脚本的enabled = false 时,只会执行Awake和OnDestory函数。