统一改变文本标签

时间:2016-06-19 09:13:56

标签: c# text unity3d

我是团结的新手,我有一个bewbie问题: 在我的开始屏幕上,我有一个文本对象,我希望在加载场景时,更改此文本标签的值(例如,要加载最佳分数)。

所以我想做这样的事情:

GetComponent<GUIText>().text = "Best: " + PlayerPrefs.GetInt("highscore", 0);

但是,如何在加载场景时调用此脚本?如何调用名为&#34; Best&#34;文本?

谢谢

编辑:我将尝试澄清我的自我,并提出更一般的问题:当游戏加载时,如何统一执行代码?我需要创建哪个对象,例如,当游戏的主屏幕加载时,它还会生成一些代码?苏醒()?我究竟在哪里实现这种清醒方法?

1 个答案:

答案 0 :(得分:0)

  

但是,如何在加载场景时调用此脚本?我怎么称呼   右gui文本名为“最佳”文本?

不确定您的问题是什么,因为您的代码是正确的。看起来您正在寻找一种方法来查找名为“Best”的GameOBject,然后访问附加到它的GUIText组件。

如果这是您想要的,那么您需要使用GameObject.Find("Best")找到它然后在您找到的GameObject上使用GetComponent<GUIText>()来获取附加到该GameObject的GUIText组件。

GUIText bestScore;

void Start()
{
    //Find the GameObject named Best in the scene
    GameObject scoreGameObject = GameObject.Find("Best");

    //Get the GUIText Component attached to that GameObject named Best
    bestScore = scoreGameObject.GetComponent<GUIText>();

    //Load score 
    bestScore.text = "Best: " + PlayerPrefs.GetInt("highscore", 0);
}
相关问题