Скрипт меню-паузы - Форум Игроделов
Вт, 04 Фев 2025, 03:14 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипт меню-паузы
AIDENДата: Пн, 06 Май 2013, 09:00 | Сообщение # 1
Нет аватара
 
Сообщений: 59
Награды: 0
Репутация: 56
Статус: Offline
Вот отличный скрипт для меню паузы.Просто создайте пустой обьект, и перекинте туда етот скрипт.

Код
       
  //ширина и высота бокса  
         private  var boxWidth : float;  
         private  var boxHeight : float;  
         //GUISkin  
         var Logotip : Texture2D;
          var guiSkin : GUISkin;  
         //переменные для кнопок  
         var buttonWidth : float;  
        var buttonHeight : float;  
         private  var pauseMainMenuEnabled : boolean= true;  
         private  var pauseOptionsMenuEnabled : boolean= false;  
         //булевые переменные для переключателей res1 - 1024x768 res2 - 1280x1024 res3 - 1680x1050  
         private  var res1 : boolean;  
         private  var res2 : boolean;  
         private  var res3 : boolean;  
          var boxRect : Rect;  
         //слушатели звука  
          var listner1 : AudioListener;  
          var listner2 : AudioListener;  
         //переменная для слайдера  
         private  var sliderFVolume : float;  
      function Start () : void {  
             //устанавливаем ширину и высоту бокса  
             boxHeight = Screen.height / 30;  
             boxWidth = Screen.width / 70;  
             //устанавливаем значения для кнопок  
             buttonWidth = Screen.width / 1;  
             boxRect = new Rect(450, 30, 450, 350);  
      }  

         function PauseMainMenuBtn ( windowid : int  ) : void {  
          GUI.Label(new Rect(80, 220, 300, 68), Logotip);
            if(GUI.Button(new Rect(130, 80, 180, 40), " Продолжыть"))  

  {
                 //выключаем курсор      
                 Screen.lockCursor = true;  
                 //возвращаем нормальную скорость времени  
                 Time.timeScale = 1;  
             }  
             //включаем менюшку для опций  
                 if (GUILayout.Button("Настройки"))  
                 {  
                     pauseOptionsMenuEnabled = true;  
                     pauseMainMenuEnabled = false;  
                 }  
             //назад в главное меню  
                 if(GUI.Button(new Rect(130, 150, 180, 40), "Меню"))  

  {
                     Application.LoadLevel(0);  
                 }  
         }  

         function PauseOptionsMenuBtn ( windowid : int  ) : void {  
             //переключатели разрешения  
             if (GUILayout.Toggle(res1, "1024x768"))  
             {  
                 res1 = true;  
             }  
             if (GUILayout.Toggle(res2, "1280x1024"))  
             {  
                 res2 = true;  
             }  
             if (GUILayout.Toggle(res3, "1680x1050"))  
             {  
                 res3 = true;  
             }  
             //включаем разрешение  
             if (GUI.Button(new Rect(120, 150, 180, 40),"Применить"))  
             {  
                 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 (GUI.Button (new Rect(120, 210, 180, 40),"Назад"))  
                 {  
                     pauseMainMenuEnabled = true;  
                     pauseOptionsMenuEnabled = false;  
                 }  
             }  

         function OnGUI () : void {  
             //включаем новый гуи скин  
             GUI.skin = guiSkin;  
             //если включен курсор включаем менюшку  
             if (Screen.lockCursor == false)  
             {  
                 pauseMainMenuEnabled = true;  
                 if(pauseMainMenuEnabled == true)  
                 {  
                     boxRect = GUILayout.Window(0, boxRect, PauseMainMenuBtn, "Пауза");  
                 }  
                 if (pauseOptionsMenuEnabled == true)  
                 {  
                      boxRect = GUILayout.Window(0, boxRect, PauseOptionsMenuBtn, "Настройки");  
                 }  
             }      
         }  
              
      function Update () : void {  
             //ставим паузу  
             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;  
      }  


Моя игра - Collect Fruit
 
СообщениеВот отличный скрипт для меню паузы.Просто создайте пустой обьект, и перекинте туда етот скрипт.

Код
       
  //ширина и высота бокса  
         private  var boxWidth : float;  
         private  var boxHeight : float;  
         //GUISkin  
         var Logotip : Texture2D;
          var guiSkin : GUISkin;  
         //переменные для кнопок  
         var buttonWidth : float;  
        var buttonHeight : float;  
         private  var pauseMainMenuEnabled : boolean= true;  
         private  var pauseOptionsMenuEnabled : boolean= false;  
         //булевые переменные для переключателей res1 - 1024x768 res2 - 1280x1024 res3 - 1680x1050  
         private  var res1 : boolean;  
         private  var res2 : boolean;  
         private  var res3 : boolean;  
          var boxRect : Rect;  
         //слушатели звука  
          var listner1 : AudioListener;  
          var listner2 : AudioListener;  
         //переменная для слайдера  
         private  var sliderFVolume : float;  
      function Start () : void {  
             //устанавливаем ширину и высоту бокса  
             boxHeight = Screen.height / 30;  
             boxWidth = Screen.width / 70;  
             //устанавливаем значения для кнопок  
             buttonWidth = Screen.width / 1;  
             boxRect = new Rect(450, 30, 450, 350);  
      }  

         function PauseMainMenuBtn ( windowid : int  ) : void {  
          GUI.Label(new Rect(80, 220, 300, 68), Logotip);
            if(GUI.Button(new Rect(130, 80, 180, 40), " Продолжыть"))  

  {
                 //выключаем курсор      
                 Screen.lockCursor = true;  
                 //возвращаем нормальную скорость времени  
                 Time.timeScale = 1;  
             }  
             //включаем менюшку для опций  
                 if (GUILayout.Button("Настройки"))  
                 {  
                     pauseOptionsMenuEnabled = true;  
                     pauseMainMenuEnabled = false;  
                 }  
             //назад в главное меню  
                 if(GUI.Button(new Rect(130, 150, 180, 40), "Меню"))  

  {
                     Application.LoadLevel(0);  
                 }  
         }  

         function PauseOptionsMenuBtn ( windowid : int  ) : void {  
             //переключатели разрешения  
             if (GUILayout.Toggle(res1, "1024x768"))  
             {  
                 res1 = true;  
             }  
             if (GUILayout.Toggle(res2, "1280x1024"))  
             {  
                 res2 = true;  
             }  
             if (GUILayout.Toggle(res3, "1680x1050"))  
             {  
                 res3 = true;  
             }  
             //включаем разрешение  
             if (GUI.Button(new Rect(120, 150, 180, 40),"Применить"))  
             {  
                 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 (GUI.Button (new Rect(120, 210, 180, 40),"Назад"))  
                 {  
                     pauseMainMenuEnabled = true;  
                     pauseOptionsMenuEnabled = false;  
                 }  
             }  

         function OnGUI () : void {  
             //включаем новый гуи скин  
             GUI.skin = guiSkin;  
             //если включен курсор включаем менюшку  
             if (Screen.lockCursor == false)  
             {  
                 pauseMainMenuEnabled = true;  
                 if(pauseMainMenuEnabled == true)  
                 {  
                     boxRect = GUILayout.Window(0, boxRect, PauseMainMenuBtn, "Пауза");  
                 }  
                 if (pauseOptionsMenuEnabled == true)  
                 {  
                      boxRect = GUILayout.Window(0, boxRect, PauseOptionsMenuBtn, "Настройки");  
                 }  
             }      
         }  
              
      function Update () : void {  
             //ставим паузу  
             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;  
      }  

Автор - AIDEN
Дата добавления - 06 Май 2013 в 09:00
игнатДата: Пн, 06 Май 2013, 14:02 | Сообщение # 2
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Хороший скрипт. Пригодится опытным новичкам.


Правила форума · участник GCC
 
СообщениеХороший скрипт. Пригодится опытным новичкам.

Автор - игнат
Дата добавления - 06 Май 2013 в 14:02
seamanДата: Пн, 06 Май 2013, 15:30 | Сообщение # 3
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Перед сменой разрешения желательно проверить поддерживается ли такое. Получаем Screen.resolutions, перебираем, ищем есть ли желаемое. Ну или сразу выводим для выбора все, которые вернуло Screen.resolutions.
 
СообщениеПеред сменой разрешения желательно проверить поддерживается ли такое. Получаем Screen.resolutions, перебираем, ищем есть ли желаемое. Ну или сразу выводим для выбора все, которые вернуло Screen.resolutions.

Автор - seaman
Дата добавления - 06 Май 2013 в 15:30
MaxikДата: Вт, 14 Май 2013, 17:53 | Сообщение # 4
 
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
Цитата (seaman)
Получаем Screen.resolutions, перебираем, ищем есть ли желаемое.

У меня почему-то при получении Screen.resolutions выдаёт одно: 800х600. хотя на компе стоит 1280х1024. почему?
 
Сообщение
Цитата (seaman)
Получаем Screen.resolutions, перебираем, ищем есть ли желаемое.

У меня почему-то при получении Screen.resolutions выдаёт одно: 800х600. хотя на компе стоит 1280х1024. почему?

Автор - Maxik
Дата добавления - 14 Май 2013 в 17:53
seamanДата: Вт, 14 Май 2013, 19:10 | Сообщение # 5
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Ну как минимум должно выдать не "одно", а массив. Сколько в нем значений - бывает по разному. В редакторе вообще возвращает лажу. Проверяйте в игре.
 
СообщениеНу как минимум должно выдать не "одно", а массив. Сколько в нем значений - бывает по разному. В редакторе вообще возвращает лажу. Проверяйте в игре.

Автор - seaman
Дата добавления - 14 Май 2013 в 19:10
MaxikДата: Ср, 15 Май 2013, 16:48 | Сообщение # 6
 
Сообщений: 23
Награды: 0
Репутация: 0
Статус: Offline
Цитата (seaman)
Проверяйте в игре.

спасибо, помогло))
 
Сообщение
Цитата (seaman)
Проверяйте в игре.

спасибо, помогло))

Автор - Maxik
Дата добавления - 15 Май 2013 в 16:48
AIDENДата: Пт, 02 Авг 2013, 23:20 | Сообщение # 7
Нет аватара
 
Сообщений: 59
Награды: 0
Репутация: 56
Статус: Offline
Цитата (Неизвестен)
Когда я нажимаю кнопу "Продолжыть" ничего не происходит.В твоём скрипте 2 ошибки в слове "Продолжыть" и "заблокирвоан".

1. Возможность переключать разрешение, появляется только после компиляции игры
2. Этот скрипт не мой, как можно догадаться ошибки тоже не мои.


Моя игра - Collect Fruit
 
Сообщение
Цитата (Неизвестен)
Когда я нажимаю кнопу "Продолжыть" ничего не происходит.В твоём скрипте 2 ошибки в слове "Продолжыть" и "заблокирвоан".

1. Возможность переключать разрешение, появляется только после компиляции игры
2. Этот скрипт не мой, как можно догадаться ошибки тоже не мои.

Автор - AIDEN
Дата добавления - 02 Авг 2013 в 23:20
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025