- Home /
Pause menu script, mouse not hiding
Ok so here is my problem, when I start the game the mouse stays locked and hidden. When I click esc to pause the mouse is shown and un locked, then when I press esc to un pause the mouse turns hidden but unlocked (that's the problem).
Here is my code, this place needs a better code formatting, if you want to see it properly formatted. Go to this website http://www.korisclient.smfnew.com/index.php?topic=44.0
//*******************************************************************************
// // Written by Grady Featherstone // � Copyright 2011 //** var mainMenuSceneName : String; var pauseMenuFont : Font; private var pauseEnabled = false; function Start(){ pauseEnabled = false; Time.timeScale = 1; AudioListener.volume = 1; Screen.lockCursor = true; } function Update(){ //check if pause button (escape key) is pressed if(Input.GetKeyDown("escape")){ //check if game is already paused if(pauseEnabled == true){ //unpause the game pauseEnabled = false; Time.timeScale = 1; AudioListener.volume = 1; Screen.lockCursor = true; } //else if game isn't paused, then pause it else if(pauseEnabled == false){ pauseEnabled = true; AudioListener.volume = 0; Time.timeScale = 0; Screen.lockCursor = true; } } } private var showGraphicsDropDown = false; function OnGUI(){ GUI.skin.box.font = pauseMenuFont; GUI.skin.button.font = pauseMenuFont; if(pauseEnabled == true){ //Make a background box GUI.Box(Rect(Screen.width /2 - 100,Screen.height /2 - 100,250,200), "Pause Menu"); //Make Main Menu button if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 - 50,250,50), "Main Menu")){ Application.LoadLevel(mainMenuSceneName); } //Make Change Graphics Quality button if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 ,250,50), "Change Graphics Quality")){ if(showGraphicsDropDown == false){ showGraphicsDropDown = true; } else{ showGraphicsDropDown = false; } } //Create the Graphics settings buttons, these won't show automatically, they will be called when //the user clicks on the "Change Graphics Quality" Button, and then dissapear when they click //on it again.... if(showGraphicsDropDown == true){ if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 ,250,50), "Fastest")){ QualitySettings.currentLevel = QualityLevel.Fastest; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 50,250,50), "Fast")){ QualitySettings.currentLevel = QualityLevel.Fast; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 100,250,50), "Simple")){ QualitySettings.currentLevel = QualityLevel.Simple; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 150,250,50), "Good")){ QualitySettings.currentLevel = QualityLevel.Good; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 200,250,50), "Beautiful")){ QualitySettings.currentLevel = QualityLevel.Beautiful; } if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 250,250,50), "Fantastic")){ QualitySettings.currentLevel = QualityLevel.Fantastic; } if(Input.GetKeyDown("escape")){ showGraphicsDropDown = false; } } //Make quit game button if (GUI.Button (Rect (Screen.width /2 - 100,Screen.height /2 + 50,250,50), "Quit Game")){ Application.Quit(); } } }
Another thing, use:
QualitySettings.SetQualityLevel(int, boolean)
ins$$anonymous$$d of
QualitySettings.currentLevel = QualityLevel.Fantastic;
Answer by bompi88 · Jun 05, 2012 at 05:18 PM
You want the cursor locked and hidden when GUI is not showing? You have to hide the cursor as well as lock it:
//*******************************************************************************
//* *
//* Written by Grady Featherstone *
//* � Copyright 2011 *
//*******************************************************************************
var mainMenuSceneName : String;
var pauseMenuFont : Font;
private var pauseEnabled = false;
function Start(){
pauseEnabled = false;
Time.timeScale = 1;
AudioListener.volume = 1;
Screen.lockCursor = true;
Screen.showCursor = false;
}
function Update(){
//check if pause button (escape key) is pressed
if(Input.GetKeyDown("escape")){
//check if game is already paused
if(pauseEnabled == true){
//unpause the game
pauseEnabled = false;
Time.timeScale = 1;
AudioListener.volume = 1;
Screen.lockCursor = true;
Screen.showCursor = false;
}
//else if game isn't paused, then pause it
else if(pauseEnabled == false){
pauseEnabled = true;
AudioListener.volume = 0;
Time.timeScale = 0;
Screen.lockCursor = false;
Screen.showCursor = true;
}
}
}
private var showGraphicsDropDown = false;
function OnGUI(){
GUI.skin.box.font = pauseMenuFont;
GUI.skin.button.font = pauseMenuFont;
if(pauseEnabled == true){
//Make a background box
GUI.Box(Rect(Screen.width /2 - 100,Screen.height /2 - 100,250,200), "Pause Menu");
//Make Main Menu button
if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 - 50,250,50), "Main Menu")){
Application.LoadLevel(mainMenuSceneName);
}
//Make Change Graphics Quality button
if(GUI.Button(Rect(Screen.width /2 - 100,Screen.height /2 ,250,50), "Change Graphics Quality")){
if(showGraphicsDropDown == false){
showGraphicsDropDown = true;
}
else{
showGraphicsDropDown = false;
}
}
//Create the Graphics settings buttons, these won't show automatically, they will be called when
//the user clicks on the "Change Graphics Quality" Button, and then dissapear when they click
//on it again....
if(showGraphicsDropDown == true){
if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 ,250,50), "Fastest")){
QualitySettings.currentLevel = QualityLevel.Fastest;
}
if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 50,250,50), "Fast")){
QualitySettings.currentLevel = QualityLevel.Fast;
}
if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 100,250,50), "Simple")){
QualitySettings.currentLevel = QualityLevel.Simple;
}
if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 150,250,50), "Good")){
QualitySettings.currentLevel = QualityLevel.Good;
}
if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 200,250,50), "Beautiful")){
QualitySettings.currentLevel = QualityLevel.Beautiful;
}
if(GUI.Button(Rect(Screen.width /2 + 150,Screen.height /2 + 250,250,50), "Fantastic")){
QualitySettings.currentLevel = QualityLevel.Fantastic;
}
if(Input.GetKeyDown("escape")){
showGraphicsDropDown = false;
}
}
//Make quit game button
if (GUI.Button (Rect (Screen.width /2 - 100,Screen.height /2 + 50,250,50), "Quit Game")){
Application.Quit();
}
}
}
THis is good but there is one problem, after unpausing the mouse is hidden but not locked
Your answer
Follow this Question
Related Questions
add lockcursor to pause menu script?? 2 Answers
Problem with Pause and Pause Menu Script 1 Answer
Hiding the cursor on a certain level. Pause Menu help. 2 Answers
FPC Mouselook Axis problem on pause GUI 1 Answer
changing from mouse click to keys 0 Answers