- Home /
How to display a GUI label for a certain amount of time
hey guys,
i was wondering, is it possible to make a gui label dissapear after a certain amount of time????
i know how to use the GUI.Label() function, and that is what i am using, but i need it to dissapear after a couple of seconds of it appearing....
thanks
-Grady
Answer by opsive · Jun 30, 2011 at 12:15 AM
I would use an invoke or a coroutine to toggle a switch between on and off.. something like
 using UnityEngine;
 using System.Collections;
 public class example : MonoBehaviour { 
     private bool showLabel = false;
     public void Start() {
         Invoke("ToggleLabel", 2);
     }
     public void ToggleLabel() {
         showLabel = !showLabel;
     }
     public void OnGUI() {
         if (showLabel) {
             GUI.Label(new Rect(10, 10, 100, 20), "Hello World!");
         }
     }
 }
http://unity3d.com/support/documentation/ScriptReference/index.Coroutines_26_Yield.html
change the dropdown to "javascript".
Answer by crazyKnight · Jun 30, 2011 at 06:16 AM
   private var ShowlLabel : boolean = true;
 
     function Start()
     {
            yield WaitForSeconds(your time limit);
            ShowLabel = false;
 
    function OnGUI()
     {
              if(ShowLabel)
              {
                  GUI.Label(new Rect(10, 10, 100, 20), "Hello World!");
             {
     }
 
hey i have tried using your code, with some other code that i have and this is what i got:
private var ShowLabel = true; var objective : Transform; var style : GUIStyle;
function Start(){
yield WaitForSeconds(10); ShowLabel = false;
        }
     
function OnGUI() {
if(ShowLabel) {
 if (Vector3.Distance(transform.position, objective.position) < 3000){
 
          GUI.Label(new Rect(650, 650, 300, 50), "BASE: There it is, fly closer so we can get a better look...", style);
         
             }
         
     }
 }
 
the editor isn't sending any errors, so i don't know what could be wrong, but i add the objective object in in the editor, but when i get in range of it, nothing happens, do you know what is wrong?
it will work if i have the distance set to "< 4700" and any number higher then that, but it won't work otherwise.... do you know what is going wrong???
thanks
-Grady
Thanks a million, crazy$$anonymous$$night. You're a lifesaver. I've been searching for a good 2 or 3 hours to try to solve a similar problem I had with timed text. WaitForSeconds() is exactly what I was looking for.
Your answer
 
 
             Follow this Question
Related Questions
Change GUI.Label text while it's active? 1 Answer
GUILabel doesn't show up 1 Answer
Score display not working 1 Answer
OnGUI called after LateUpdate screwing up debug text database 1 Answer
Center GUI.Label similar to GUIText? 2 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                