2015-06-08 6 views
1

Я был после учебника о том, как сделать таймер на YouTube, но теперь я застрял из-за GUIText проблем в Unity 5. Это мой код:GUIText в Unity 5 (Нужна альтернатива)

using UnityEngine; 
using UnityEngine.UI; 
using System.Collections; 

public class Timer : MonoBehaviour { 

    public float Seconds = 59; 
    public float Minutes = 0; 

    void Update() { 

     if (Seconds <= 0) { 

      Seconds = 59; 
      if (Minutes > 1) { 

       Minutes--; 

      } else { 

       Minutes = 0; 
       Seconds = 0; 
       //This makes the guiText show the time as X:XX. ToString.("f0") formats it so there is no decimal place. 
       GameObject.Find("TimerText").GUIText.text = Minutes.ToString("f0") + ":0" + Seconds.ToString("f0"); 

      } 

     } else { 

      Seconds -= Time.deltaTime; 

     } 

     //These lines will make sure that the time is shown as X:XX and not X:XX.XXXXXX 
     if(Mathf.Round(Seconds) <= 9) { 

      GameObject.Find("TimerText").GUIText.text = Minutes.ToString("f0") + ":0" + Seconds.ToString("f0"); 

     } else { 

      GameObject.Find("TimerText").GUIText.text = Minutes.ToString("f0") + ":" + Seconds.ToString("f0"); 

     } 

    } 

} 

Проблема с GUIText.

ошибка CS1061: Тип «UnityEngine.GameObject» не содержит определение «GUIText», а метод расширения «GUIText» типа «UnityEngine.GameObject» может быть найден (Вы не нашли с помощью директивой или ссылкой на сборку?)

Что мне делать, чтобы показать таймер в моей игре без GUIText?

+0

Эта ссылка * возможно * помощь: HTTP: //answers.unity3d.com/questions/853405/gui-text-is-absent-in-unity-46.html – AlG

+0

Пожалуйста, используйте тег 'Unity3d' вместо тега' unity' –

+0

с тегом –

ответ

2

Вместо того чтобы делать GameObject.Find("TimerText").GUIText.text, вы можете переписать его, используя GetComponent(string) метод, который является правильный путь:

GameObject.Find("TimerText").GetComponent<GUIText>().text = 
    Minutes.ToString("f0") + ":0" + Seconds.ToString("f0"); 
+0

Спасибо! Теперь у меня нет ошибок! :) Просто нужно выяснить, как получить текст в «графическом тексте», чтобы быть видимым. –

2

Просто выберите свой игровой объект, которому вы присвоили ему код, и в окне Inspector нажмите на Add Component и добавьте GUI Text к нему.
не забудьте установить шрифт для него

+0

Невозможно получить текстовый компонент графического интерфейса, который будет видимым с любым текстом. –

+0

Удостоверьтесь, что вы устанавливаете шрифт на что-то, а размер шрифта не равен 0 –

+1

Я пробовал, но я думаю, что могут быть другие вещи, которые его нарушают. В любом случае, спасибо! :) –