Скрипт меню паузы - Форум
Страница 1 из 11
Форум » Программирование » Java script » Скрипт меню паузы
Скрипт меню паузы
Администратор
Уровень 999
Сообщений: 2093
Дата: Среда, 11.04.2012, 01:39:34 | Сообщение # 1
Offline
Вот сам скрипт:

Code
using UnityEngine;  
  using System.Collections;  

  public class PauseMenuScript : MonoBehaviour {  
         //ширина и высота бокса  
         private float boxWidth;  
         private float boxHeight;  
         //GUISkin  
         public GUISkin guiSkin;  
         //переменные для кнопок  
         private float buttonWidth;  
         private float buttonHeight = 10f;  
         private bool pauseMainMenuEnabled = true;  
         private bool pauseOptionsMenuEnabled = false;  
         //булевые переменные для переключателей res1 - 1024x768 res2 - 1280x1024 res3 - 1680x1050  
         private bool res1;  
         private bool res2;  
         private bool res3;  
         public Rect boxRect;  
         //слушатели звука  
         public AudioListener listner1;  
         public AudioListener listner2;  
         //переменная для слайдера  
         private float sliderFVolume;  
      void Start ()      
         {  
             //устанавливаем ширину и высоту бокса  
             boxHeight = Screen.height / 4;  
             boxWidth = Screen.width / 5;  
             //устанавливаем значения для кнопок  
             buttonWidth = Screen.width / 6;  
             boxRect = new Rect(100, 100, boxWidth, 125);  
      }  

         void PauseMainMenuBtn(int windowid)  
         {  
             if (GUILayout.Button("Resume"))  
             {  
                 //выключаем курсор      
                 Screen.lockCursor = true;  
                 //возвращаем нормальную скорость времени  
                 Time.timeScale = 1;  
             }  
             //включаем менюшку для опций  
                 if (GUILayout.Button("Options"))  
                 {  
                     pauseOptionsMenuEnabled = true;  
                     pauseMainMenuEnabled = false;  
                 }  
             //назад в главное меню  
                 if (GUILayout.Button("Back ot Main Menu"))  
                 {  
                     Application.LoadLevel("MainMenu");  
                 }  
         }  

         void PauseOptionsMenuBtn(int windowid)  
         {  
             //переключатели разрешения  
             if (GUILayout.Toggle(res1, "1024x768"))  
             {  
                 res1 = true;  
             }  
             if (GUILayout.Toggle(res2, "1280x1024"))  
             {  
                 res2 = true;  
             }  
             if (GUILayout.Toggle(res3, "1680x1050"))  
             {  
                 res3 = true;  
             }  
             //включаем разрешение  
             if (GUILayout.Button("Set Rexolution"))  
             {  
                 if (res1 == true)  
                 {  
                     Screen.SetResolution(1024, 768, true);  
                 }  
                 if (res2 == true)  
                 {  
                     Screen.SetResolution(1280, 1024, true);  
                 }  
                 if (res3 == true)  
                 {  
                     Screen.SetResolution(1680, 150, true);  
                 }  
             }  
             //регулируем звук  
             sliderFVolume = GUILayout.HorizontalSlider(sliderFVolume, 0.0f, 1.0f);  
             if (GUILayout.Button("Back"))  
                 {  
                     pauseMainMenuEnabled = true;  
                     pauseOptionsMenuEnabled = false;  
                 }  
             }  

         void OnGUI()  
         {  
             //включаем новый гуи скин  
             GUI.skin = guiSkin;  
             //если включен курсор включаем менюшку  
             if (Screen.lockCursor == false)  
             {  
                 pauseMainMenuEnabled = true;  
                 if(pauseMainMenuEnabled == true)  
                 {  
                     boxRect = GUILayout.Window(0, boxRect, PauseMainMenuBtn, "Pause Menu");  
                 }  
                 if (pauseOptionsMenuEnabled == true)  
                 {  
                      boxRect = GUILayout.Window(0, boxRect, PauseOptionsMenuBtn, "Options Menu");  
                 }  
             }      
         }  
              
      void Update ()      
         {  
             //ставим паузу  
             if (Screen.lockCursor == false)  
             {  
                 Time.timeScale = 0f;  
             }  
             //если выбрано одно разрешение - выключаем другие  
             if (res1 == true)  
             {  
                 res2 = false;  
                 res2 = false;  
             }  
             if (res2 == true)  
             {  
                 res1 = false;  
                 res3 = false;  
             }  
             if (res3 == true)  
             {  
                 res1 = false;  
                 res2 = false;  
             }  
             //блокировка курсора  
             if (Input.GetButtonUp("esc"))  
             {  
                 if (Screen.lockCursor == true)  
                 {  
                     Screen.lockCursor = false;  
                 }  
                 else if (Screen.lockCursor == false)  
                 {  
                     Screen.lockCursor = true;  
                 }  
             }  
             //выключаем все менюшки если курсор заблокирвоан  
             if (Screen.lockCursor == true)  
             {  
                 pauseMainMenuEnabled = false;  
                 pauseOptionsMenuEnabled = false;  
             }  
             listner1.audio.volume = sliderFVolume;  
             listner2.audio.volume = sliderFVolume;  
      }  
  }


Установка:
1. Создать Пустой ГО
2. Прицепить на него скрипт

Возможности:
Изменение разрешения и громкости звука.
Подпись пользователя
Форум » Программирование » Java script » Скрипт меню паузы
Страница 1 из 11
Поиск: