- Home /
GUI.Box within a Collider
Im trying to make a GUI.Box appear once in the Collider, and disappear once out of the collider.. but it dosnt seem to work for me. Then i changed so that when you where in the Collider, it tolf you to Press "K", and then once pressed K, the box sould disappear.. but it dosnt.. Please help, and please be JavaScript, because i dont understand CSharp.
var levelName : String;
var mySize : Rect = Rect(600,400,600,50);
var guiOn : boolean;
function OnTriggerStay(theCollider : Collider)
{
guiOn=true;
if(Input.GetKeyDown(KeyCode.K)) {
animation.Play("Gate");
guiOn=false;
}
}
function OnGUI() {
if (guiOn){
GUI.Box(Rect(400,400,25,25),"[K]");
}
}
Is the collider 'Is Trigger' box checked? And is there a rigidbody involved?
Yes, but the problem is that the GUI.Box will pop back, due to that your still in the Collider..
I changed the script a little, and how the Animation wont play when you press $$anonymous$$
var levelName : String;
var mySize : Rect = Rect(600,400,600,50);
var guiOn : boolean;
function OnTriggerEnter(theCollider : Collider)
{
guiOn=true;
if(Input.Get$$anonymous$$eyDown($$anonymous$$eyCode.$$anonymous$$)) {
animation.Play("Gate");
}
}
function OnTriggerExit(theCollider : Collider) {
guiOn=false;
}
function OnGUI() {
if (guiOn){
GUI.Box(Rect(400,400,25,25),"[$$anonymous$$]");
}
}
With enter you may need to take out the keypress, like you originally wanted, else the two events may not coincide.
Perhaps set the keypress to make it disappear again.
Answer by meat5000 · Oct 14, 2013 at 04:57 PM
enter -> Gui on
stay -> keypress to deactivate
exit -> disable
You will need to play with it a bit
Your answer
Follow this Question
Related Questions
What Am I Doing Wrong? Variable Names 3 Answers
Disable GameObject Only Father Not Children 2 Answers
Light problems 1 Answer
Convert Timer to HH:MM:SS 1 Answer