【问题标题】:Change text of Unity 4.6 UI button更改 Unity 4.6 UI 按钮的文本
【发布时间】:2014-12-16 17:44:55
【问题描述】:

我已经尝试了好几天没有成功。如何使用 C# 脚本更改 Unity 4.6 按钮的文本?任何建议表示赞赏。

【问题讨论】:

    标签: button text unity3d


    【解决方案1】:

    创建一个脚本并将其添加到您的 UIButton 您应该添加参考 Unity.UI

    using UnityEngine.UI;
    

    然后声明一个变量

    Text yourButtonText;
    

    关于函数Start put this

    void Start()
    {
        yourButtonText = transform.FindChild("Text").GetComponent<Text>();
    }
    

    然后当你想改变你的文字添加这个

    yourButtonText.text = "i am a button!";
    

    如果您需要应用更多修改,请访问http://docs.unity3d.com/ScriptReference/UI.Text.html

    [带标签的版本]

    添加此参考

    using System.Collections.Generic;
    
    public Text[] yourButtonTextArrays = new Text[15];
    
    void Start()
    {
        for (int i = 0; i < 15; i++ )
        {
            yourButtonTextArrays[i] = GameObject.FindGameObjectWithTag("Button" + i+1.ToString()).transform.FindChild("Text").GetComponent<Text>();
        }
    }
    

    然后当你想改变你的文字添加这个

    yourButtonTextArrays[yourButtonNumber].text = "i am a button from the array of buttons";
    

    【讨论】:

    • 场景中有 3 行,每行 5 个按钮。每个按钮都有一个标签。我希望以某种方式使用标签找到按钮,然后更改文本。
    • 标签的格式是怎样的?例如 Button0 Button1 等?
    • 没错。 Button1 Button2 以此类推。
    • 完成。检查答案
    • 有趣。第一个字母相同的标签被认为是重复的。此外,我得到错误: NullReferenceException:对象引用未设置为对象的实例 Scramble.SetButtonsText () (at Assets/Scripts/Scramble.cs:56) Scramble.Start () (at Assets/Scripts/Scramble.cs :46) yourButtonTextArrays[yourButtonNumber].text = "A";
    猜你喜欢
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 2015-02-22
    • 1970-01-01
    相关资源
    最近更新 更多