unity 如何獲取button文本的內容
如下就可以獲取button中的文本內容
using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; public class ButtonContent : MonoBehaviour{ public Button btn; void Start(){ btn = GameObject.Find("填寫button名").getComponent<Button>(); //-----------(1) Text text = btn.transform.Find("Text").getComponent<Text>(); //------------(2) //或者吧(1)(2)合並成: // Text text = GameObject.Find("填寫button名/Text").getComponent<Text>(); Debug.Log(text.text.toString()); //其實就一條語句 // Debug.Log(GameObject.Find("填寫button名/Text").getComponent<Text>().text.toString()); } }
補充:Unity獲取任意GameObject下節點Text、Button等組件
核心隻有一句:
Text/Button compo=GameObject.Find("任意button/text節點名稱").GetComponent();
或者:
Text text = gameobject.transform.Find("Text名稱").GetComponent();
補充:Unity3D如何修改Button顯示的文字以及深入瞭解Button組件
在創建瞭一個Button後,結構如圖:
先仔細觀察一下Button的Inspector視圖:
發現其中竟然有一個叫Button的腳本組件.
新建腳本,代碼如下,並將該腳本綁定給Canvas組件:
using UnityEngine.UI; using UnityEngine.EventSystems; using UnityEngine; public class btn1 : MonoBehaviour { // Start is called before the first frame update public Button btn; void Start() { } // Update is called once per frame void Update() { GameObject go = GameObject.Find("Butt"); Text text=go.GetComponentInChildren<Text>(); text.text="天桑在玩CSGO"; Debug.Log(text.text); } }
1.首先通過GameObject.Find()找到名字為Butt的遊戲物體.
2.通過GetComponentInChildren()獲得子目錄下類型為T的組件.
(這裡我之前用GetComponent試過不行,是因為Button的Text在子目錄下)
3.我們還可以獲得Button組件:
GameObject go = GameObject.Find("Butt"); Button button=go.GetComponent<Button>(); if(button)Debug.Log("找到這個按鈕瞭!");
這兩段代碼合並後的輸出結果為:
這表明這兩個組件都找到瞭.
這樣一看,Button的結構就很清楚瞭,Button在第一級目錄上,附帶生成的Text在子目錄上.
實驗結果符合預期:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- None Found