Скрипт меню паузы - Форум Игроделов
Ср, 23 Июл 2025, 17:26 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Скрипт меню паузы
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. Прицепить на него скрипт

Возможности:
Изменение разрешения и громкости звука.

Будут обновления smile

Здесь скачиватьдоп. ГУИ скины.
П.С. Делал для своего проекта cool

Добавлено (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. Прицепить на него скрипт

Возможности:
Изменение разрешения и громкости звука.

Будут обновления smile

Здесь скачиватьдоп. ГУИ скины.
П.С. Делал для своего проекта cool

Добавлено (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
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2025