unity 如何获取button文本的内容
作者:yguoelect 发布时间:2022-01-29 19:31:04
标签: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在子目录上.
实验结果符合预期:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
来源:https://blog.csdn.net/yguoelect/article/details/70666396


猜你喜欢
- 1. 你可以讲下进程与线程的区别?为什么要用多线程?进程:进程是程序的一次执行过程,是系统运行程序的基本单位。线程:单个进程中执行中每个任务
- 霓虹是用来描绘图像的轮廓,勾画出颜色变化的边缘,加强其过度效果,使图像产生轮廓发光的效果。主要步骤:1、根据当前像素与其右方和下方像素的梯度
- protected bool IsChineseLetter(string input,int index){int code = 0;in
- 一、包装类概述Java有8种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、布尔型bool
- ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列
- 配置注解的支持:在spring4之后,想要使用注解形式,必须得要引入 aop 的包<dependency><groupId
- 相同:1、LinkedBlockingQueue和ArrayBlockingQueue都实现了BlockingQueue接口;2、Linke
- using System;using System.Collections.Generic;using System.ComponentMo
- 最近没做项目,重新整理了一个最完整的Mybatis Generator(简称MBG)的最完整配置文件,带详解,再也不用去看EN的User G
- 通过上一篇的分析,我们知道了独占模式获取锁有三种方式,分别是不响应线程中断获取,响应线程中断获取,设置超时时间获取。在共享模式下获取锁的方式
- 当数据库中数据条数过多时,一个页面就不能显示,这是要设置分页查询,首先要使用的是数据库sql语句的limit条件实现分组查询sql语句大概形
- 网上关于如何切换,其实说的很明确,本文主要通过profile进行快速切换已实现在不同场合下,用不同的打包方式。jar到war修改步骤pom文
- 微信登录的实现与qq登录类似。不过微信登录比较麻烦,需要拿到开发者资质认证,花300块钱,然后应用的话还得有官网之类的,就是比较繁琐的前期准
- 本文实例讲述了Android开发实现的简单五子棋游戏。分享给大家供大家参考,具体如下:我刚刚在Android上写的一个五子棋的小程序,在这里
- 自己写的一个日历记事本效果图 具体步骤:1.添加控件SkinEngine。 1.右键“工具箱”。“添加选项卡”,取名“皮肤”。
- 对象类型转换分为向上转型和向下转型(强制对象转型)。 向上转型是子对象向父对象转型的过程,例如猫类转换为动物类;向下转型是强制转型实现的,是
- 首先要安装SpeechSDK5.1 开发包和SpeechSDK5.1 Langague Pack(中英文) 语言包,不过VS2010里是自带
- 上周,公司的项目改版要求加上一个右滑返回上一个界面,于是就在网上找了一些开源库打算实现.但是在使用的时候遇见了许多的问题.试了两天用过 ht
- 在拼接绝对路径的网址时,经常需要从Request.Url中获取根网址(比如https://git.oschina.net),然后与相对路径一
- 1.背景可以使用mybatis-plus-generator逆向生成dao层、service层、controller层等代码2.引入jar包