- Home /
How to Make a Message Appear on Screen?
I have a test NPC that I want to display a message when you press "E" within the trigger. I got the trigger to properly function and same with the key press but the message won't display.
This is what I have:
 var playerObject : GameObject;
 var message : String = "I am an NPC.";
 var displayTime : float = 3;
 var displayMessage : boolean = false;
 
 function OnTriggerStay(other : Collider)
 {
     if(displayTime == 0)
     {
         displayMessage = false;
     }        
 
     if(Input.GetKeyDown(KeyCode.E))
     {
         displayMessage = true;        
     }    
 
 }
 
 function OnGui()
 {
     if (displayMessage)
     {
         GUI.Label(new Rect(Screen.width / 2, Screen.height / 2, 200f, 200f), message);
     }
 }
If anyone could help that'd be great :D
Answer by robertbu · Dec 11, 2013 at 09:38 PM
The function is 'OnGUI' not 'OnGui'.
I think this is what you are looking for:
 #pragma strict
 
 var playerObject : GameObject;
 var message : String = "I am an NPC.";
 var displayTime : float = 3;
 var display$$anonymous$$essage : boolean = false;
 
 function Update() {
     displayTime -= Time.deltaTime;
     if (displayTime <= 0.0) {
         display$$anonymous$$essage = false;
     }
 } 
  
 function OnTriggerStay(other : Collider) {
     if(other.collider.gameObject == playerObject && Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.E)) {
        display$$anonymous$$essage = true;    
        displayTime = 3.0;   
     }  
 }
  
 function OnGUI () {
     if (display$$anonymous$$essage) {
         GUI.Label(new Rect(Screen.width / 2, Screen.height / 2, 200f, 200f), message);
     }
 }
Oh, my mistake. Also is there a way to resize it and change it's color?
That's a separate question. But the answer is using a GUIStyle http://docs.unity3d.com/Documentation/ScriptReference/GUI.Label.html
Your answer
 
 
             Follow this Question
Related Questions
(4.6 UI) How to set up a window with x buttons, with a scroll bar? 1 Answer
Procedurally generated uGUI elements render under world space objects 1 Answer
Where do I find UI Text? 3 Answers
How do I keep an ui element in side of the canvas when scaling? 1 Answer
Can't destroy an ui element 2 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                