U3D C#脚本的生命周期

时间:2022-11-15 14:38:24

MonoBehaviour是每个脚本的基类.

每个Javascript脚本自动继承MonoBehaviour,使用C#或Boo时,需要显式继承MonoBehaviour.

一开始实例化,直到结束实例被销毁。在这期间,他们有时候处于激活状态,有时候处于非激活状态;对于活动,对用户有时候可见,有时候不可见

U3D C#脚本的生命周期

Awake : 当一个脚本实例被载入时Awake被调用。
 
Start : Start仅在Update函数第一次被调用前调用。
 
Update :  当MonoBehaviour启用时,其Update在每一帧被调用。
 
FixedUpdate : 当MonoBehaviour启用时,其 FixedUpdate在每一帧被调用。
 
OnGUI : 渲染和处理GUI事件时调用。
 
LateUpdate : 当Behaviour启用时,其LateUpdate在每一帧被调用。
 
Reset : 重置为默认值。
 
OnDisable : 当对象变为不可用或非激活状态时此函数被调用。
 
OnDestroy : 当MonoBehaviour将被销毁时,这个函数被调用。

不过这里有点有意思的就是一个内置函数的执行顺序问题:

using UnityEngine;
using System.Collections;
/*
* Adminer:sun2955
* http:www.yinghy.com
* */
public class GameCollter : MonoBehaviour { void Awake() {
print("-1--1--1--1");
}
// 使用进行初始化
void Start () {
print("");
} //每一帧都会调用该函数
void Update () {
print("");
}
//物理运动
void FixedUpdate()
{
print("");
}
}

这里是按照-1 -> 2 的顺序进行的先后执行