zoukankan      html  css  js  c++  java
  • Unity(八)脚本生命周期

    脚本生命周期

    • 也叫做必然事件/消息Message
    • 脚本是一个类(.cs文本文件)
    • 附加到游戏物体中,定义游戏对象行为指令的代码

    c#类

    • 字段
    • 属性(set get)在脚本中不显示,通常在脚本中 不写
    • 构造函数
    • 方法

    脚本:

    • 字段
    • 方法

    不能在子线程中访问主线程成员


    初始阶段

    Awake()

    //执行时机:创建游戏对象--->立即执行-->执行1次
    //作用:初始化
    private void Awake()
    {
    Debug.Log("Awake"+Time.time)//output:Awake--0
    }
    

    start()

    //先执行Awake再start,先执行所有Awake再所有start
    //执行时机:创建游戏对象--->脚本启用才执行-->执行1次
    //作用:初始化
    private void Start()
    {
    Debug.Log("Start"+Time.time)//output:Start--e0
    }
    

    OnEnable()

    //每当脚本对象启用时调用
    private void OnEnable()
    {
    }
    

    物理阶段

    FixedUpdate()

    //执行时机:每隔固定时间执行一次。默认0.02s
    //适用于对物体做物理操作(移动、旋转....),**不会受到渲染影响**
    private void FixedUpdate()
    {//渲染时间不固定(每帧渲染物体量不同、机器性能不同)
    }
    

    游戏逻辑阶段

    Update()

    //执行时机:渲染帧执行,执行间隔不固定
    //适用性:处理游戏逻辑,为了简单,移动的代码一般也放在这里
    private void Update()
    {
    }
    

    LateUpdate()

    //延迟更新,与Update在同一帧里,跟在LateUpdate后面执行
    LateUpdate()
    {
    }
    

    输入事件

    场景渲染

    • OnBecameVisible当可见
      当Mesh Renderer在任何相机上可见时调用
    • OnBecameInvisible当不可见
      当Mesh Renderer在任何相机上都不可见时调用

    结束阶段

    • OnDisable当不可用
      对象变为不可用或附属游戏对象非激活状态时此函数被调用
    • OnDestroy当销毁
      当脚本销毁或附属的游戏对象被销毁时被调用
    • OnApplicationQuit当程序结束:
      应用程序退出时被调用
  • 相关阅读:
    spark[源码]-TaskSchedulerlmpl类源码
    spark[源码]-SparkEnv执行环境创建
    spark[源码]-sparkContext概述
    spark学习(基础篇)--(第三节)Spark几种运行模式
    spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)
    Spark --【宽依赖和窄依赖】
    CURL常用命令
    Foundation框架基本数据类型
    Object-C Categories和Protocols
    Object c 基础知识
  • 原文地址:https://www.cnblogs.com/code-fun/p/13961974.html
Copyright © 2011-2022 走看看