1. 程式人生 > 其它 >Unity 3D簡單使用C#指令碼,指令碼的生命週期

Unity 3D簡單使用C#指令碼,指令碼的生命週期

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
    void
Start() { 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(new
Rect(1,1,100,100),"不用了")) { this.enabled = false; } }

點選按鈕後腳本對勾就取消了。