- Home /
Help With Message System Script
After not being able to find a way to display messages in a text box (for things such as characters talking and messages displaying on screen), I decided to write my own script to do this. The code I have at the moment is below:
var MessageBoxSkin : GUISkin; var MessageBoxText : String; var showText : boolean = false;
function DisplayMessage(message : String) { print(message); showText = true; MessageBoxText= message; }
function OnGUI() { if (showText) { GUI.BeginGroup (new Rect (Screen.width / 2 - 640, Screen.height / 2 - 360, 1280, 720));
GUI.skin = MessageBoxSkin;
GUI.Box (new Rect (40, 600, 1200, 100),
MessageBoxText);
GUI.EndGroup ();
}
else
{
}
}
function Update(){
if (Input.GetKeyDown(KeyCode.F) && showText) showText = false; }
function Active(){ return showText; }
I have the MessageSystem attached to an empty gameobject in the scene, and I get other scripts to call the MessagesSystem via Get Component.
I can get the MessageSystem to receive the message (in the DisplayMessage function) but Update and OnGUI never seem to get called, and thus the GUI Box never appears.
Any help?
Answer by Mike 3 · Jul 22, 2010 at 11:51 AM
My best guess is that you have the script disabled (which would let you call the functions from other scripts, but OnGUI and Update wouldn't fire).
The script itself looks ok
Thanks, I somehow got it working again. Can't remember what I changed though.
Your answer
Follow this Question
Related Questions
GUI Message Box Handling 3 Answers
GUIBox fontSize without changing other labels? 3 Answers
GUI box texture resizes itself 1 Answer
full screen wide GUI.Box 3 Answers