Unity零基础到入门 ☀️| Unity中的生命周期介绍!

举报
呆呆敲代码的小Y 发表于 2021/08/31 20:34:31 2021/08/31
【摘要】 💙脚本的生命周期说道脚本,自然要谈一谈Unity中的脚本生命周期啦。因为我们所写的代码都要有一个执行顺序,才能有条不紊的执行我们需要让程序执行的事情,听起来还有些绕口~类似Android中的Activity也有自己的生命周期先来看一张挺长的图,这张图几乎涵盖了脚本的所有方法执行的顺序啦~看完了图是不是感觉有点慌,有的小伙伴就要说啦:这个图的方法那么多,看着就头大啦,看不明白~那不要担心,我...

💙脚本的生命周期

  • 说道脚本,自然要谈一谈Unity中的脚本生命周期啦。

  • 因为我们所写的代码都要有一个执行顺序,才能有条不紊的执行我们需要让程序执行的事情,听起来还有些绕口~

  • 类似Android中的Activity也有自己的生命周期

  • 先来看一张挺长的图,这张图几乎涵盖了脚本的所有方法执行的顺序啦~

在这里插入图片描述
看完了图是不是感觉有点慌,有的小伙伴就要说啦:这个图的方法那么多,看着就头大啦,看不明白~

那不要担心,我们今天主要讲的是Unity脚本生命周期的九大回调,也是脚本中最常用到的方法了
想让回调函数执行有个前提,就是 脚本必须以组件的方式挂载到场景中某一个游戏对象身上

  • 九大回调说的就是就是下面图中这九个方法啦
    在这里插入图片描述
  • 三种Update都是每帧执行一次
  • FixedUpdate一般用于表现物理效果的时候使用会比Update效果好
  • LateUpdate在相机脚本上使用较好,因为相机可以在Update执行之后运行,不会出现画面Bug的现象

其中他们的执行顺序:
Awake——>OnEnable——>Start——>FixedUpdate——>Update——>LateUpdate——>OnGUI——>OnDisable——>OnDestroy

  • 如果有多个脚本中同时在Awake()或Start()中写了方法,哪一个脚本中的先执行呢?

这个问题需要考虑,不然的话代码中会出现一个时效出错,空引用之类的错误

这里告诉大家一个办法,就是下面这套流程。
可以在下图面板上将脚本的先后顺序添加上,程序就会按照我们设置的顺序来执行啦
如果没有设置这个,那不同脚本先后执行速度就是随机的了,不过AwakeStart也都是在第一帧执行的

  • Edit->Project Settings->Script Execution Order
    在这里插入图片描述
    在这里插入图片描述
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。