- Home /
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 ?
Also when I have my code for clicking an object and hiding the same gui it doesn't work at all. Even though pressing a key makes it work.
Why did you use .active? Why did you not read what the Console said? It tells you how to fix your problem.
Answer by HHameline · May 23, 2011 at 05:15 PM
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 link.
Hope that helps. Hans
Answer by Jessy · May 23, 2011 at 04:39 PM
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
Your answer
![](https://koobas.hobune.stream/wayback/20220612080517im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Showing gui texture ? 2 Answers
GameObject.Find() work on inactive objects 16 Answers
Reduce Draw call for Multiple GUI Textures with same Texture 1 Answer
Best way to keep track of inactive GameObjects? 1 Answer
.enabled does not enabled GUItexture 1 Answer