1. 在GameObject和腳本激活狀態下,測試:函數
2. 在GameObject激活狀態下,測試:測試
3. 在2種狀況都不激活的狀態下測試:腳本無輸出;spa
void Awake(){}code
初始化遊戲對象,在腳本整個生命週期中被調用一次,應該是腳本最早調用的函數。不管腳本是否激活,都將執行,除非GameObject沒有激活。對象
void OnEnable(){}blog
void Start(){}生命週期
初始化遊戲對象,在腳本整個生命週期中被調用一次,在Update以前被調用。遊戲
void FixedUpdate(){}事件
固定幀更新,經常使用於處理更新 Rigidbody 狀態。it
void Update(){}
每一幀更新。
void LateUpdate(){}
在全部 Update 更新完以後更新,經常使用語跟隨相機設置位置,角度等。
void OnGUI(){}
在渲染和處理GUI事件時調用。
void Reset(){}
在用戶點擊檢視面板的Reset按鈕或者首次添加該組件時被調用。此函數只在編輯模式下被調用。Reset最經常使用於在檢視面板中給定一個默認值。
void OnDisable(){}
當物體被銷燬時 OnDisable將被調用,而且可用於任意清理代碼。腳本被卸載時,OnDisable將被調用,OnEnable在腳本被載入後調用。
void OnDestroy(){}
當MonoBehaviour將被銷燬時,這個函數被調用。OnDestroy只會在預先已經被激活的遊戲物體上被調用。
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"); } }