- Home /
How to create a timer with the new UI text?
Hello, I am wanting to have a timer in my game so I've looked around for a script to do so. I found this- #pragma strict
// TIMER counting DOWN var timer : float = 0.0; var timerMax : float = 30.0; function Start() { timer = timerMax ; } function Update() { timer -= Time.deltaTime;
if (timer < 0) { Debug.Log("timer Zero reached !");
// reset timer
timer = timerMax;
} }
In the post the person had said to attach it to a GUI text. I tried to see if it would work on the new UI text but the text doesn't show the time. Do I need to convert something or? If this wouldn't work what would I need to do? Also I am quite new to Unity. All help is appreciated.
Answer by DiegoSLTS · Feb 08, 2015 at 01:44 PM
That code alone won't display anything because it doesn't change anything on the gameObject.
You need to change the "text" property of the Text component of the GameObject that has this script attached. I don't use UnityScript, but I think adding this line at the end of the Update function should work: gameObject.GetComponent(Text).text = timer.ToString();
Also, if you want a timer you probably want to convert that float value to minutes, seconds and milliseconds and make a string with them. Check the comments on this other answer to do that: http://answers.unity3d.com/questions/45676/making-a-timer-0000-minutes-and-seconds.html
Your answer
Follow this Question
Related Questions
Problem creating a script to destroy object on collision. 1 Answer
Transform.localPosition Script Problem. 3 Answers
Duplication Problem. Please help. 2 Answers
Transform.localPosition Scripting Problem. 1 Answer
Duplication Problem. Please help. 1 Answer