生命周期函数
生命周期函数
单脚本调用顺序
多脚本的调用顺序
总的来说,游戏开始时,会遍历场景中所有显示的物体(不包含隐藏的物体)上的全部挂载的脚本(包括启用的和停用的),然后逐一遍历处理(这个遍历的顺序是随机的)
- 如果当前脚本有Awake方法,就执行
接着看脚本是否被启用
- 如果被启用,并且有OnEnable方法就执行
- 如果未被启用,就不管
接着再根据之前的那个遍历顺序,再逐个执行启用脚本的Start方法,也就是说,如果脚本A的Awake方法执行完了之后执行脚本B的Awake方法,那么脚本A的Start方法执行完了之后也会接着执行脚本B的Start方法
Awake方法和Start方法都只会执行一次,
- 只要物体第一次显示,Awake方法就会调用
- 只要物体显示且脚本第一次启用,Start方法就会调用,之后再隐藏和显示物体,停用和启用脚本都不会再调用这两个方法
OnEnable和OnDisable
- 物体从显示状态转为隐藏状态时,其上所有启用的脚本会执行OnDisable方法,
- 物体从隐藏状态转为显示状态时,其上所有启用的脚本都会执行OnEnable方法
- 物体处于隐藏状态时,脚本状态切换都不会执行OnEnable方法和OnDisable方法
- 物体处于启用状态时,脚本状态切换才会执行OnEnable方法和OnDisable方法
生命周期函数
https://enlight3n.github.io/2023/04/29/UnitySummary/生命周期函数/