- Home /
The Escape Menu opens more than once
Hey people!:) I'm struggling with something at the moment, I'm doing an escape menu and for some reason it opens more than 1 of the menu each time i press escape. And when I try and press resume it takes like 3-5 clicks until it closes. here is the code:
private var isPaused = false;
private var isOpened = false;
function Update () {
Lock();
if(Input.GetKeyDown("escape") && !isPaused)
{
cursorlock = false;
isPaused = true;
GetComponent(MouseLook).enabled = false;
GameObject.Find("Player").GetComponent(MouseLook).enabled
= false;
}
else if(Input.GetKeyDown("escape") && isPaused)
{
isPaused = false;
GetComponent(MouseLook).enabled = true;
GameObject.Find("Player").GetComponent(MouseLook).enabled
= true;
}
}
function Lock () {
if (isPaused)
{
Screen.lockCursor = false;
Screen.showCursor = true;
}
if(!isPaused)
{
Screen.lockCursor = true;
Screen.showCursor = false;
}
}
function OnGUI() {
if ((isPaused) && (!isOpened)) {
isOpened = true;
GUI.Box (Rect (Screen.width * 0.5 - 85,Screen.height * 0.5 - 110,170,200), "Main Menu");
if (GUI.Button (Rect (Screen.width * 0.5 - 75,Screen.height
* 0.5 - 75,150,40), "Resume Game")) {
isPaused = false;
isOpened = false;
}
if (GUI.Button (Rect (Screen.width * 0.5 - 75,Screen.height
* 0.5 - 25,150,40), "Options")) {
//Application.LoadLevel (1);
}
if (GUI.Button (Rect (Screen.width * 0.5 - 75,Screen.height
* 0.5 + 25,150,40), "Quit")) {
Application.Quit();
}
}
}
I'm really stuck with this at the moment, and all help is greatly appreciated! Thank you so much.
Regards, Shane
Answer by GhostNine001 · May 13, 2013 at 03:40 AM
so ur tying to make your menu close?.i don't know much of coding but some times when im making a gui to opening/closing when i want it to i just do the noob way. but theres other better ways to do it but im sure come one else will post the correct way for you but heres mine;
var LockCode : int = 0: function update() { if (Input.GetKeyDown("escape")&& LockCode == 0 ) { //Open Menu LockCode = 1; } if (Input.GetKeyDown("escape")&& LockCode == 1 ) { //Close Menu LockCode = 0; } }
its my only quick and Nooby way of doin it./ hope you find this helpful or find a good idea what u can do. :)
Your answer
Follow this Question
Related Questions
Hold the esc button for a pause menu 1 Answer
Deactivate UI windows in order when "Escape" button is pressed. 1 Answer
Unity 3D C# - Scripts ot true false not working 2 Answers
input question 1 Answer
Escape menu script problem 1 Answer