Unity3D中脚本的生命周期初识

今天继续学习了Unity3d中有关脚本生命周期的知识,即脚本中的 常见方法在游戏运行过程中的执行顺序 和每一个脚本中的函数常用的功能。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class dzzhyk : MonoBehaviour {

    // 这些方法都不是 MonoBehaviour 中定义的方法,而是通过反射调用的一些事件

    //这些方法定义了一个脚本从被加载到被销毁的过程中

    //脚本的声明周期

    //每当脚本被加载时调用Awake,经常在Awake中进行初始化操作-公有字段public
    private void Awake()
    {
        print("Awake");
    }
    // 每次 激活脚本时调用OnEnable - 可以用来重置
    private void OnEnable()
    {
        print("OnEnable");
    }

    //在第一次调用Update之前调用一次Start
    //在 Start 中做一些初始化操作,一般是私有字段private
    void Start()
    {
        print("Start");
    }
    //如果脚本处于调用状态,则Update、LateUpdate两项一直在循环,次数相同
    //每帧调用一次 Update - 刷新角色等
    void Update()
    {
        print("Update");
    }
    //在 Update 方法调完之后调用,用于刷新逻辑操作等
    private void LateUpdate()
    {
        print("LateUpdate");
    }
    //取消激活状态后调用
    private void OnDisable()
    {
        print("OnDisable");
    }
    //被销毁时调用一次 - 生成掉落
    private void OnDestroy()
    {
        print("OnDestroy");
    }
    //脚本只要处于激活状态则一直调用 - IMGUI代码需要卸载OnGUI方法中,现在常用UGUI
    //刷新次数要高
    private void OnGUI()
    {
        print("OnGUI");
    }
    // 以固定的频率调用,不会受到图像刷新帧速率影响
    //一般会把处理物理的代码放在 FixedUpdate 中
    private void FixedUpdate()
    {
        print("FixedUpdate");
    }
}

在实际运行的过程中,脚本中函数的运行顺序为:

可以总结出脚本中各方法的生命周期为:

猜你喜欢

转载自blog.csdn.net/weixin_43826242/article/details/84985311
今日推荐