U3D C#脚本的生命周期

MonoBehaviour是每个脚本的基类.

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

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

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("000000");
    }
    
    //每一帧都会调用该函数
    void Update () {
        print("22222");
    }
    //物理运动
    void FixedUpdate() 
    {
        print("11111");
    }
}

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

原文地址:https://www.cnblogs.com/sunxun/p/5054335.html