Unity3d:在运行时创建GUIText

时间:2015-06-04 04:41:28

标签: c# unity3d

我正在尝试创建一个描述运行时对象的Text,但是创建了GUIText对象但它不可见。有任何想法吗 ?

这是我的代码:

void enemydescriptionInit( GameObject text, string desc){
    text.transform.parent = enemyCar1.car.transform;
    enemyCar1.car.transform.position = enemyCar1.startPosiotion;
    text.gameObject.GetComponent<GUIText> ().font = new Font ("Arial");
    text.gameObject.GetComponent<GUIText>().text = desc;
    text.gameObject.GetComponent<GUIText>().fontSize = 40;
    text.gameObject.GetComponent<GUIText>().fontStyle = FontStyle.BoldAndItalic;
    text.gameObject.GetComponent<GUIText>().color = Color.blue;
    text.gameObject.name = "Desc";

}

void Start () {
    player = GameObject.Find ("Player");

    text = new GameObject();
    text.AddComponent<GUIText>();
  }


void Update(){
enemydescriptionInit (text, "HELLO");
}

2 个答案:

答案 0 :(得分:0)

如果您使用的是Unity 5,请尝试使用UnityEngine.UI

而不是GUIText只使用Text

希望有所帮助

答案 1 :(得分:0)

尝试使用OnGUI()方法

此示例代码

void OnGUI(){

            GUIStyle style = new GUIStyle();
            style.fontSize = 30;
            style.alignment = TextAnchor.UpperRight;
            GUI.Label (new Rect(Screen.width/2 , 10 , 100 ,40) , "Time left " + secondsLeft.ToString() , style);


    }