首页 > 其他分享 >Unity的生命周期函数

Unity的生命周期函数

时间:2024-06-16 16:00:57浏览次数:12  
标签:脚本 生命 调用 对象 周期函数 Unity Awake

  1. 在Unity中,各个生命周期函数是在特定的时机被调用的,它们的执行顺序如下:

    1.Awake:


    当脚本实例被加载时调用,用于初始化数据。
    如果物体上有多个脚本,它们的Awake方法会在Start方法之前执行。


    2.OnEnable:


    当对象变为活动状态(enabled)或脚本被启用时调用。
    如果在场景加载后对象已经是活动状态,OnEnable会在Awake之后立即调用。


    3.Start:


    在对象第一次帧更新前调用,用于初始化数据。
    在Awake之后调用,如果对象启用时已经被激活。


    4.FixedUpdate:


    固定的物理更新时间步长(可以通过设置Time.fixedDeltaTime调整)。
    用于处理物理更新和固定间隔的计算。


    5.Update:


    每帧调用一次,用于处理游戏逻辑。
    大多数游戏逻辑和用户输入处理都应该放在这里。


    6.LateUpdate:


    在所有Update调用后被调用,确保在所有脚本的Update方法执行完毕后执行。
    通常用于跟随摄像机,处理相机移动和物体追踪等。


    7.OnDisable:


    当对象变为非活动状态(disabled)或脚本被禁用时调用。
    用于清理和释放资源,如移除事件监听器等。


    8.OnDestroy:
    当对象被销毁前调用,用于最终的清理工作和资源释放。

    这些生命周期函数的执行顺序是固定的,并且对于每个对象的每个脚本实例,它们都会按照上述顺序依次被调用。

        生命周期函数并不是基类中的成员,为什么Unity可以自动执行这些函数?

        Unity帮助使用者记录了场景中所有GameObject对象以及各个关联的脚本对象,在游戏执行的特定时期,通过函数名反射(C#的反射机制)得到脚本对象中的对应生命周期函数,然后在特定时机执行它们。

标签:脚本,生命,调用,对象,周期函数,Unity,Awake
From: https://blog.csdn.net/m0_74081230/article/details/139692025

相关文章

  • 【Kafka专栏 05】一条消息的完整生命周期:Kafka如何保证消息的顺序消费
    作者名称:夏之以寒作者简介:专注于Java和大数据领域,致力于探索技术的边界,分享前沿的实践和洞见文章专栏:夏之以寒-kafka专栏专栏介绍:本专栏旨在以浅显易懂的方式介绍Kafka的基本概念、核心组件和使用场景,一步步构建起消息队列和流处理的知识体系,无论是对分布式系统感兴趣,还......
  • unitycatalog datagrics 开源的data&ai 多模catalog
    unitycatalogdatagrics开源的data&ai多模catalog包含的特性支持任意格式、引擎、资产的多摸接口 支持包含了deltalake,iceberg,uniform,paquert,csv。。。等格式,超越表,支持非结构化数据以及ai资产,插件化的架构,可以支持hms以及icebergrestcatalog以及其他插件(比如ai),与delt......
  • Elasticsearch:简化数据流的数据生命周期管理
    作者:来自Elastic AndreiDan今天,我们将探索Elasticsearch针对数据流的新数据管理系统:数据流生命周期,从版本8.14开始提供。凭借其简单而强大的执行模型,数据流生命周期可让n你专注于数据生命周期的业务相关方面,例如降采样和保留。在后台,它会自动确保存储数据的Elastics......
  • Unity 利用Cache实现边下边玩
    现在手机游戏的常规更新方案都是在启动时下载所有资源更新,游戏质量高的、用户粘性大的有底气,先安装2个G,启动再更新2个G,文件小了玩家还觉得品质不行不想玩。最近在做微信、抖音小游戏,使用他们提供的资源缓存方案,现在要转成AndroidAPP,也想用这种边下边玩的机制把首包做小。其实......
  • vue3生命周期
    Vue3中有两个注册生命周期的方法,第一个是选项式的API风格,另一个的组合式的API风格。Vue3的生命周期完全兼容Vue2的生命周期。生命周期选项可以和组合式API中的生命周期钩子混合使用,不过最好不要将两者混合使用。生命周期的实现原理其实就是先将用户注册的生命周......
  • Java——变量作用域和生命周期
    一、作用域1、作用域简介在Java中,作用域(Scope)指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。2、作用域块作用域(BlockScope):块作用域是指在大括号{}内定义的变量的作用域。变量只在其定义的块内可见和有效,包括循环、条件......
  • Vue2学习八-Vue核心(生命周期)
    目录17.生命周期17.1什么是生命周期17.2 分析生命周期17.3生命周期总结17.生命周期17.1什么是生命周期<!DOCTYPEhtml><html> <head> <metacharset="UTF-8"/> <title>引出生命周期</title> <!--引入Vue--> <scripttype="text/java......
  • 关于Unity四种合批技术详解
    文章目录一.静态合批(StaticBatching)1.启用静态合批2.举例说明3.静态合批的限制4.静态合批的优点缺点5.动态指定物品合批二.动态合批(DynamicBatching)1.启用动态合批2.合批规则3.举例说明4.使用限制三.GPUInstancing1.启用GPUInstancing2.启用限制3.举例说明......
  • React小记(二)_组件通信、生命周期、hooks等
    10、组件通信(父=>子)10.1基本使用1、传递方式与函数组件一致2、接收时通过this.props.mes获取importReactfrom'react'classSonextendsReact.PureComponent{render(){return(<><h3>子组件</h3>{/*2、接收*/}......
  • 【Unity】随手记录——背景随字数增长而加长(无代码)
    前记如果是以前的我,可能要思考一下代码要怎么写,但是现在我发现,如果上班不用写代码就可以完成功能,那真的很快乐。具体操作按照惯例,先说具体操作,然后再大概介绍一下用到的东西从UGUI创建一个图片作为父物体,然后挂上HorizontalLayoutGroup、ContentSizeFitter之后......