unity 如何獲取button文本的內(nèi)容
如下就可以獲取button中的文本內(nèi)容
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
public class ButtonContent : MonoBehaviour{
public Button btn;
void Start(){
btn = GameObject.Find("填寫(xiě)button名").getComponent<Button>(); //-----------(1)
Text text = btn.transform.Find("Text").getComponent<Text>(); //------------(2)
//或者吧(1)(2)合并成:
// Text text = GameObject.Find("填寫(xiě)button名/Text").getComponent<Text>();
Debug.Log(text.text.toString());
//其實(shí)就一條語(yǔ)句
// Debug.Log(GameObject.Find("填寫(xiě)button名/Text").getComponent<Text>().text.toString());
}
}
補(bǔ)充:Unity獲取任意GameObject下節(jié)點(diǎn)Text、Button等組件
核心只有一句:
Text/Button compo=GameObject.Find("任意button/text節(jié)點(diǎn)名稱(chēng)").GetComponent();
或者:
Text text = gameobject.transform.Find("Text名稱(chēng)").GetComponent();
補(bǔ)充:Unity3D如何修改Button顯示的文字以及深入了解Button組件
在創(chuàng)建了一個(gè)Button后,結(jié)構(gòu)如圖:

先仔細(xì)觀察一下Button的Inspector視圖:

發(fā)現(xiàn)其中竟然有一個(gè)叫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.首先通過(guò)GameObject.Find()找到名字為Butt的游戲物體.
2.通過(guò)GetComponentInChildren()獲得子目錄下類(lèi)型為T(mén)的組件.
(這里我之前用GetComponent試過(guò)不行,是因?yàn)锽utton的Text在子目錄下)
3.我們還可以獲得Button組件:
GameObject go = GameObject.Find("Butt");
Button button=go.GetComponent<Button>();
if(button)Debug.Log("找到這個(gè)按鈕了!");
這兩段代碼合并后的輸出結(jié)果為:

這表明這兩個(gè)組件都找到了.
這樣一看,Button的結(jié)構(gòu)就很清楚了,Button在第一級(jí)目錄上,附帶生成的Text在子目錄上.
實(shí)驗(yàn)結(jié)果符合預(yù)期:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
C#中LINQ?to?DataSet操作及DataTable與LINQ相互轉(zhuǎn)換
這篇文章介紹了C#中LINQ?to?DataSet操作及DataTable與LINQ相互轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
C#實(shí)現(xiàn)微信公眾號(hào)會(huì)員卡管理的示例代碼
這篇文章主要介紹了C#實(shí)現(xiàn)微信公眾號(hào)會(huì)員卡管理的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
C#使用 NAudio 實(shí)現(xiàn)音頻可視化的方法
這篇文章主要介紹了[C#] 使用 NAudio 實(shí)現(xiàn)音頻可視化的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù)實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的字符串轉(zhuǎn)MD5碼函數(shù),結(jié)合簡(jiǎn)單實(shí)例形式分析了C#字符串的轉(zhuǎn)換、遍歷、加密等操作技巧,需要的朋友可以參考下2016-07-07

