1.玩家輸入名稱。
2.按下確定。
3.顯示輸入名稱。
對自己來說拿GameObject物件做是比較熟悉的方法,不過既然功能都放在那裡就拿來試試看吧。
首先我們可以看到畫面上所需的三個物件,分別是按鈕(Button)、輸入字串(InputField)、顯示文字(Text)。
這些物件都可以在Unity上方功能列GameObject->UI下找到。
關於UI物件的一些細節功能這裡就先不提,直接從這次的輸入功能下手。
準備好這些物件後先來看Button,在Button上可以找到名為Button(Script)的Component,最下方的On Click()就是這次主要的功能。
在按下Button時,On Click()的函式就會做動作,要使那些物件做那些函式功能可以透過+來新增,當然沒有適合的功能也是可以自己寫。
由於預設函式找不到符合需求的功能,所以在這裡新增一個空物件EnterControl,接著在新增腳本TestClick.cs帶到EnterControl上,將畫面中的顯示文字Text帶入TestClick下的變數playerName。
至於腳本TestClick.cs內容如下:
using UnityEngine; using System.Collections; using UnityEngine.UI; public class TestClick : MonoBehaviour { public Text playerName;////(1) public void EnterPlayerName(Text enterText){////(2) playerName.text = enterText.text;////(3) } }(1)為要修改的文字Text,這裡將場景中的顯示文字帶入,(2)是要呼叫的函式,需要一個Text變數,最後在(3)的地方將文字帶入就好。
自製的功能準備好了以後,我們回到Button身上。
1.首先透過+新增On Click下的List。
2.將剛剛新增的空物件EnterControl帶入。
3.然後在選項中就可以看到剛剛所寫的腳本TestClick,在TestClick下面就會有EnterPlayerName,選擇它。
4.可以看到EnterPlayerName函式是需要一個Text變數,這裡再把InputText帶入。
到這裡執行後就是範例所看到的結果,這次就到這裡。
(是說一開始明明是在研究遊戲存檔功能,怎麼弄著弄著就變成UI。)
想請問一下,我的版本是3.8.0.3。在我的Hierarchy中沒看到EnterControl,不知道有甚麼解決辦法?
回覆刪除沒事 了解了 沒看清楚哈哈
回覆刪除