- Home /
Unity 5 - pause menu bug
I have a rather annoying conflict in my code, and I can't think of a way to get around it. Please note that I am in no way experienced with Unity (i.e I started last week), so if this is something blatant, I apologize.
Essentially, I have a very small first person walk around thing, just to test out a few scripts. When the ESC key is pressed, it throws up a pause menu (very crude at the moment). However, when a button is pressed, the code that locks the cursor to the centre while in game suddenly starts conflicting, pinning the cursor to the centre again. This prevents the buttons from firing, and it all goes rather Pete Tong.
Here's the code.
#pragma strict
var nativeVertResolution = 1200.0;
var isPaused: boolean = false;
function Update () {
if (isPaused){
Cursor.lockState = CursorLockMode.Confined;
Cursor.visible = true;
}
else {
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
if (Input.GetKeyDown("escape") && !isPaused){
Debug.Log("Pause Menu shown, frozen game");
Time.timeScale = 0.0;
isPaused = true;
}
else if (Input.GetKeyDown("escape") && isPaused){
Debug.Log("Pause menu removed, resumed game");
Time.timeScale = 1.0;
isPaused = false;
}
}
function OnGUI() {
GUI.matrix = Matrix4x4.TRS (Vector3(0, 0, 0), Quaternion.identity, Vector3 (Screen.height / nativeVertResolution, Screen.height / nativeVertResolution, 1 ));
if(isPaused){
RenderSettings.fogDensity = 1;
Cursor.visible = true;
if (GUI.Button (Rect((Screen.width)/2, 640, 140, 70), "Resume Game")){
print("Continue!");
Time.timeScale = 1.0;
isPaused = false;
}
if (GUI.Button (Rect((Screen.width)/2, 560, 140, 70), "Restart Level")){
Application.LoadLevel(Application.loadedLevel);
Time.timeScale = 1.0;
isPaused = false;
}
if (GUI.Button (Rect((Screen.width)/2, 480, 140, 70), "Quit Game")){
Debug.Log("Endgame (window seat)");
Application.Quit();
}
}
}
Your answer
Follow this Question
Related Questions
how to hide this if button click 1 Answer
I made an resume button, but I don't know how to code it to close my pause menu, any tips? 2 Answers
Mouse Cursor Problem 2 Answers
How to make 3D object become the cursor? 2 Answers
Audio problems with unity after reloading my game from the main menu 1 Answer