Unity3d如何在代码中更改UI.Button文本

时间:2015-03-20 13:03:24

标签: c# unity3d monodevelop unity3d-gui

简单的问题,我正在尝试制作一个有趣的鸟类克隆,我需要帮助显示分数。我将分数添加到控制台并显示在控制台上,但我无法将其显示在gui文本上。

我已经尝试谷歌如何做到这一点并观看很多人的飞扬鸟类教程,看看他们是如何做到的,但是当他们引入新的ui系统时,所有这些都在团结4.6之前,并且他们使用相同的代码似乎不起作用。

那么如何在代码中访问附加到我的游戏对象的gui文本?感谢。

1 个答案:

答案 0 :(得分:6)

如果您想要4.6 UI版本。您需要添加UnityEngine.UI;

C#     使用UnityEngine.UI; JavaScript的     import UnityEngine.UI;

确保在层次结构中有一个Canvas,并在Canvas中创建一个Text Object。

下一步你可以创建一个Text的公共字段,这样Unity中的检查器就可以看到它,或者只使用我不推荐的GameObject.Find,因为它真的很慢。

using UnityEngine;
using UnityEngine.UI;

public class FlappyScore : MonoBehaviour{

// Add the Above if you still haven't cause the Text class that you will need is in there, in UnityEngine.UI;

public Text MyScore;

// Go back to Unity and Drag the "text" GameObject in your canvas to this script.

void Start(){

 /* if Having difficulty with the above instruction. Un comment this comment block.
MyScore = GameObject.Find("text").GetComponent<Text>();
*/


  MyScore.text = "50";
 // Your score needs to be casted to a string type.


 }

}