Unity - 按鈕



在本章中,我們將學習如何將UI元素插入到我們的場景中以及如何操作它們。

讓我們從一個按鈕開始。要插入一個按鈕,請在場景層次結構中右鍵單擊,然後轉到建立 → UI → 按鈕。如果您沒有現有的畫布和事件系統,Unity 將自動為您建立一個,並將按鈕也放置在畫布內。

Create UI Button

請記住,在預設模式疊加渲染模式下,畫布的大小與攝像機的大小無關。您可以透過單擊遊戲選項卡來測試這一點。

Overlay Rendering Mode

如果您執行場景,您會注意到該按鈕已經具有一些標準功能,例如檢測滑鼠是否懸停在其上,以及在按下時更改顏色。

按鈕需要功能才能在UI中真正有用。此功能可以透過其屬性新增。

讓我們建立一個新的指令碼,並將其命名為ButtonBehaviour

public class ButtonBehaviour : MonoBehaviour {
   int n;
   public void OnButtonPress(){
      n++;
      Debug.Log("Button clicked " + n + " times.");
   }
}

我們建立了一個簡單的函式,記錄我們點選按鈕的次數。

注意 − 此函式必須是公開的;否則,按鈕的功能將無法識別它。

讓我們建立一個空的GameObject並將此指令碼附加到它。我們這樣做是因為按鈕本身不會執行任何操作;它只調用其指令碼中指定的函式。

empty GameObject

現在,進入按鈕的屬性,找到OnClick()屬性。

OnClick() Property

點選底部選項卡上的+圖示,列表中應該會出現一個新條目。

New Entry

此條目定義按鈕按下作用於哪個物件,以及呼叫該物件指令碼的哪個函式。由於按鈕按下中使用的事件系統,您可以透過簡單地將它們新增到列表中來觸發多個函式。

將包含我們建立的ButtonManager指令碼的空GameObject拖放到無(物件)槽中。

None Object slot

導航無函式下拉列表,查詢我們的OnButtonPress函式。(記住它可以命名為任何你想要的名字,OnButtonPress只是一個標準化的命名約定。)你應該在ButtonBehaviour部分找到它。

如果您現在運行遊戲,您可以測試按鈕,並且控制檯會打印出您按下按鈕的次數。

廣告