Awake、Start、Update、FixedUpdate、LateUpdate执行顺序

Awake

void Awake(){
    //初始化函数,在游戏开始时系统自动调用,一般用来创建变量。
    //在继承自MonoBehavior后即刻调用,整个脚本生命周期内,Awake函数仅执行一次。
    //GameObject的初始状态为disable时,在脚本运行时,Awake函数不会执行。
    //GameObject的初始状态为OnEnable时,在脚本运行时,Awake函数会被执行。
    //Awake函数的执行仅仅与脚本实例所绑定的游戏对象的开关状态有关。
    //如果重新加载场景,那么场景内Awake函数的执行情况重新遵循上述两点。
    //一般在Awake函数中获取游戏对象或者脚本实例的信息。
}

Start

void Start(){
    //初始化函数,在Awake函数后执行,整个脚本周期内,仅被调用一次,一般用来给变量赋值。
    //在MonoBehavior创建后在该帧Update()第一次执行前被调用;
    //Start()函数只在脚本实例被启用时才会执行。
    //如果游戏对象开启了,对象上绑定的脚本实例被禁用了,那么Start函数不会执行。
    //Start在对象OnEnable后,Update前被调用。
    //只有对象在OnEnable状态时才会调用Start函数。
    //一般在Start函数中进行一些获取之后的初始化设置
}

Update

void Update(){
    //每帧被执行一次。
    //Update帧数根据系统性能不定,与设备的性能相关,在新的一帧被渲染出的时候才会被调用。
}

FixedUpdate

void FixedUpdate(){
    //FixedUpdate在固定的时间间隔内执行,与程序运行帧率无关,与设备性能无关。
    //涉及到物理组件,比如说物体添加某个方向的力,使用FixedUpdate会使效果更顺滑。
}

LateUpdate

void LateUpdate(){
    //每帧被执行一次。
    //LateUpdate在所有Update函数被执行完毕之后才会被调用。
    //比如说脚本一中有一个Update函数,一个LateUpdate函数,脚本二中有一个Update函数,脚本三中有一个Update函数,那么执行顺序是:脚本一Update函数、脚本二Update函数、脚本三Update函数、脚本一LateUpdate函数。
}

这里一张图总结执行顺序。
2023-11-19T10:39:23.png

Unity中函数执行顺序。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容