Unity3D 固定功能函数
Unity 3D 测试固定功能函数执行顺序
1. 在GameObject和脚本激活状态下,测试:
2. 在GameObject激活状态下,测试:
3. 在2种情况都不激活的状态下测试:脚本无输出;
函数说明
void Awake(){}
初始化游戏对象,在脚本整个生命周期中被调用一次,应该是脚本最先调用的函数。无论脚本是否激活,都将执行,除非GameObject没有激活。
void OnEnable(){}
void Start(){}
初始化游戏对象,在脚本整个生命周期中被调用一次,在Update之前被调用。
void FixedUpdate(){}
固定帧更新,常用于处理更新 Rigidbody 状态。
void Update(){}
每一帧更新。
void LateUpdate(){}
在所有 Update 更新完之后更新,常用语跟随相机设置位置,角度等。
void OnGUI(){}
在渲染和处理GUI事件时调用。
void Reset(){}
在用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。Reset最常用于在检视面板中给定一个默认值。
void OnDisable(){}
当物体被销毁时 OnDisable将被调用,并且可用于任意清理代码。脚本被卸载时,OnDisable将被调用,OnEnable在脚本被载入后调用。
void OnDestroy(){}
当MonoBehaviour将被销毁时,这个函数被调用。OnDestroy只会在预先已经被激活的游戏物体上被调用。
C# 脚本测试代码
using UnityEngine; using System.Collections; public class TestFunction : MonoBehaviour { void Awake() { print("Awake"); } void OnEnable() { print("OnEnable"); } void Start() { print("Start"); } void FixedUpdate() { print("FixedUpdate"); } void Update() { print("Update"); } void LateUpdate() { Debug.Log("LateUpdate"); } void OnGUI() { print("OnGUI"); } void Reset() { print("OnReset"); } void OnDisable() { print("OnDisable"); } void OnDestroy() { print("OnDestroy"); } }