unity3d之脚本生命周期

2020-11-12 11:23:15 浏览数 (1)

脚本生命周期

执行顺序如下:

各个函数解释如下:

名称

触发时机

用途

Awake

脚本实例被创建时调用

用于游戏对象的初始化,注意Awake的执行早于所有脚本的Start函数

OnEnable

当对象变为可用或激活状态时被调用

用途

Start

Update函数第一次运行之前调用

用于游戏对象的初始化

Update

每帧调用一次

用于更新游戏场景和状态

FixedUpdate

每个固定物理时间间隔调用一次

用于物理状态的更新

LateUpdate

每帧调用一次(在update之后调用)

用于更新游戏场景和状态,和相机有关的更新一般放在这里

OnGUI

渲染和处理OnGUI事件

用途

OnDisable

当前对象不可用或非激活状态时被调用

用途

OnDestroy

当前对象被销毁时调用

用途

测试代码

代码:

代码语言:javascript复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class player : MonoBehaviour
{
    private void Awake()
    {
        Debug.Log("Awake");
    }

    private void OnEnable()
    {
        Debug.Log("OnEnable");
    }

    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("Start");
    }

    // Update is called once per frame
    void Update()
    {
        Debug.Log("Update");
    }

    private void FixedUpdate()
    {
        Debug.Log("FixedUpdate");
    }

    private void LateUpdate()
    {
        Debug.Log("LateUpdate");
    }

    private void OnGUI()
    {
        Debug.Log("OnGUI");
    }

    private void OnDisable()
    {
        Debug.Log("OnDisable");
    }

    private void OnDestroy()
    {
        Debug.Log("OnDestroy");
    }
}

执行结果:

0 人点赞