在Unity3D中有一些方法不是程序員手動調用的,而是Unity3d工具自身設計時就決定自動調用的,不過調用的時機和場合不同,下面就一一介紹一下:
Awake:顧名思義,Unity3D的腳本蘇醒時需要調用的方法,這個方法比Start方法執行的還要早,也是執行一次。
Start:可以理解為類的構造函數,或者是init函數,用于初始化各種變量,僅執行一次。
Update:類似于flash AS3 onframe的回調函數,每幀均回調。
Fixedupdate:每一幀都執行,處理Rigidbody時,需要用FixedUpdate代替Update。例如:給剛體加一個作用力時,你必須應用作用力在FixedUpdate里的固定幀,而不是Update中的幀。(兩者幀長不同)FixedUpdate,每固定幀繪制時執行一次,和update不同的是FixedUpdate是渲染幀執行,如果你的渲染效率低下的時候FixedUpdate調用次數就會跟著下降。FixedUpdate比較適用于物理引擎的計算,因為是跟每幀渲染有關。Update就比較適合做控制。
Lateupdate:每幀均回調,但每次均在Update之后再調用。
OnGUI:每幀均回調,用于繪制GUI對象。
Reset:用戶點擊檢視面板的Reset按鈕或者首次添加該組件時被調用。此函數只在編輯模式下被調用。Reset最常用于在檢視面板中給定一個最常用的默認值。
OnDisable:當物體被銷毀時 OnDisable將被調用,并且可用于任意清理代碼。腳本被卸載時,OnDisable將被調用,OnEnable在腳本被載入后調用。注意: OnDisable不能用于協同程序。
OnDestory:當MonoBehaviour將被銷毀時,這個函數被調用。OnDestroy只會在預先已經被激活的游戲物體上被調用。注意:OnDestroy也不能用于協同程序。
新聞熱點
疑難解答