hide and show gui texture problem

Here is my script.

function Update () {

if (Input.GetKeyDown(KeyCode.N)){

GameObject.Find(“playerbag”).guiTexture.active = true;
}

if (Input.GetKeyDown(KeyCode.M)) {

GameObject.Find(“playerbag”).guiTexture.active = false;
}

}

The problem I’m having is I am able to press M to hide my gui but when I go to press N it will not show itself. Anyone know what I might be doing wrong ?

I would consider doing something like this instead:

private bool showGui = true;
void OnGUI()
{
    if(Input.GetKeyDown("m"))
    {
         showGui = false;
    }
    if(Input.GetKeyDown("n"))
    {
         showGui = true;
    }
    GUI.enabled = showGui;
    <INSERT GUI CODE HERE>
    GUI.enabled = true;
}

Your GUI Code should probably just be something like:

GUI.DrawTexture([Position Rectangle], [Image Texture]);

My code is in C# but it shouldn’t be to difficult to translate into Javascript.

If you have never used Unities OnGUI function I have left a link below. Keep in mind that the OnGUI function runs twice per frame. It is incredibly handy.

Heres that 1.

Hope that helps.
Hans

Your code doesn’t do what you think it does. You’re deactivating the entire entire Game Object, and GameObject.Find doesn’t find inactive objects.

http://unity3d.com/support/documentation/ScriptReference/Behaviour-enabled.html?from=GUITexture