脚本生命周期
执行顺序如下:
各个函数解释如下:
名称 | 触发时机 | 用途 |
---|---|---|
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");
}
}
执行结果: