yyyaaazzz Дата: Вс, 05 Фев 2012, 20:44 | Сообщение # 1
Сообщений: 104
Награды:
0
Репутация:
83
Статус: 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. Прицепить на него скрипт Возможности: Изменение разрешения и громкости звука. Будут обновления Здесь скачиватьдоп. ГУИ скины. П.С. Делал для своего проекта Добавлено (05.02.2012, 20:44) --------------------------------------------- Забыл написать, что если вами был найден баг, то обязательно пишите!
Сообщение отредактировал yyyaaazzz - Вс, 05 Фев 2012, 19:52
Сообщение Вот сам скрипт: 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. Прицепить на него скрипт Возможности: Изменение разрешения и громкости звука. Будут обновления Здесь скачиватьдоп. ГУИ скины. П.С. Делал для своего проекта Добавлено (05.02.2012, 20:44) --------------------------------------------- Забыл написать, что если вами был найден баг, то обязательно пишите!
Автор - yyyaaazzz Дата добавления - 05 Фев 2012 в 20:44
CoMMoN Дата: Ср, 19 Сен 2012, 14:07 | Сообщение # 2
Сообщений: 11
Награды:
0
Репутация:
0
Статус: Offline
на яваскрипте можешь написать?
Сообщение на яваскрипте можешь написать? Автор - CoMMoN Дата добавления - 19 Сен 2012 в 14:07
sstas Дата: Ср, 10 Окт 2012, 06:29 | Сообщение # 3
Сообщений: 1
Награды:
0
Репутация:
0
Статус: Offline
//если выбрано одно разрешение - выключаем другие if (res1 == true) { res2 = false; res2 = false; } точнее //если выбрано одно разрешение - выключаем другие if (res1 == true) { res2 = false; res3 = false; }
У каждого свой Путь...
Сообщение //если выбрано одно разрешение - выключаем другие if (res1 == true) { res2 = false; res2 = false; } точнее //если выбрано одно разрешение - выключаем другие if (res1 == true) { res2 = false; res3 = false; } Автор - sstas Дата добавления - 10 Окт 2012 в 06:29