x


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();                 }         } }

more ▼

asked Jun 05 '12 at 02:26 PM

Bibbobbib gravatar image

Bibbobbib
0 2 3 4

Another thing, use:

QualitySettings.SetQualityLevel(int, boolean)
instead of
QualitySettings.currentLevel = QualityLevel.Fantastic;
Jun 05 '12 at 05:27 PM bompi88
(comments are locked)
10|3000 characters needed characters left

1 answer: sort voted first

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();
                }
        }
}
more ▼

answered Jun 05 '12 at 05:18 PM

bompi88 gravatar image

bompi88
741 2 5

THis is good but there is one problem, after unpausing the mouse is hidden but not locked

Jun 25 '12 at 05:28 PM Bibbobbib
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x3334
x984
x386
x262
x78

asked: Jun 05 '12 at 02:26 PM

Seen: 840 times

Last Updated: Jun 25 '12 at 05:28 PM