網頁

2018年6月13日 星期三

用script修改button的icon圖示與文字

說實在的,當初寫按鈕功能的時候,劈哩啪啦的在網路上找論壇,找範例。
一下用script修改按鈕 icon圖示,一下子修改按鈕文字(text)。
當時沒有馬上記下來,現在倒是記憶有些模糊了。
趁還沒完全忘記,趕緊記錄下來吧!



      目標:中間這個Play圖示,按下去之後,要改為Stop圖示。
    我使用的是ButtonHolographic這個prefab。
    可以去HoloToolkit-Example → UX → prefabs → ButtonHolographic 找到。






步驟上是這樣的:

1. 事先準備好圖示(ex. play, stop),也許是.jpg 或者是 .png,需事先匯入到asset裡面。

2. 在script裡面寫好全域變數去接,變數型態須為Texture。如上圖1所示。

3. 如上圖2所描寫的,在Unity裡面會顯示PlayIcon, StopIcon欄位,你可以點擊右邊的小圓點(圖3所示),將圖檔指定進去。

4. 在script裏頭寫全域變數btnIcon,變數型態是GameObject,那是預備去接舞台上即將被修改圖示的按鈕。同樣的在Unity介面上也要先把即將被修改的按鈕指定進去。例如:UIButtonSquareIcon。

5. 在script裡面撰寫以下程式碼,就可以把舞台上的按鈕圖示,改為你要的圖示了。

     btnIcon.GetComponent<MeshRenderer>().material.mainTexture = stopIcon;

6. 同樣的,修改按鈕文字的方式,分為以下小步驟:
    (1) 先在script裏頭寫全域變數btnName,變數型態是GameObject
    (2) 在Unity介面上,把舞台上將被修改的text指定進去。
    (3) 用script寫,文字要修改成什麼。以下範例是修改成"Stop"

     btnName.GetComponent<TextMesh>().text = "Stop";


概念整理:
其實需要掌握的是變數型態,以及該類別下的屬性的階層關係。
其餘的就只是把該指定的檔案或文字,指定到正確位置而已。

圖示的參考出處
   → 參考論壇 [前往]

文字的參考出處
  → 參考文件Unity Manual [連結]
  → 參考影片Unity tutorial [連結]


沒有留言:

張貼留言