Unity 3D簡單使用C#指令碼,指令碼的生命週期
阿新 • • 發佈:2021-07-20
Unity 3D簡單使用
新建專案->層級裡右鍵->建立空物件改名Test
專案裡右鍵建立C#指令碼Test
雙擊指令碼Test(所有指令碼都會繼承MonoBehaviour類),在Start()下輸入Debug.Log('1');儲存
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { // Start is called before the first frame update voidStart() { Debug.Log('1'); } // Update is called once per frame void Update() { } }
點選Test物件後,拖拽Test指令碼到 新增元件 位置放手
然後點選右上角執行,輸出1,成功
上面的Start屬於生命週期的,下面看看
Unity 3D指令碼生命週期
Awake 指令碼被載入時呼叫
OnEnable 當物件變為可用或啟用狀態時。
Start 第一次Update之前呼叫
FixedUpdate 固定更新
Update 更新
LateUpdate 晚於更新
OnGUI 渲染和處理GUI事件
OnDisable 當前物件不可用或非啟用狀態時被呼叫
OnDestroy 被銷燬時被呼叫
可以把上面函式繼續輸入Test指令碼執行測試
會發現:LateUpdate(),FixedUpdate(),Update(),OnGUI(),這些函式都是迴圈執行的
我們新增按鈕到Test OnGUI裡,測試下把指令碼改成未啟用狀態(OnDisable)
void OnGUI() { Debug.Log("OnGUI"); //數字是按鈕座標,不用了是按鈕名稱 if (GUI.Button(newRect(1,1,100,100),"不用了")) { this.enabled = false; } }
點選按鈕後腳本對勾就取消了。