Cкрипт Паузы в Unity 5.
Пауза, при создании любой игры, является неотъемлемой частью интерфейса. Через меню паузы можно реализовать такие функции игры как:
- сохранение или загрузка,
- выход в меню или на рабочий стол,
- переход в меню настройки игры,
- или просто остановка игры.
В этом скрипте мы реализуем остановку игры и выход в главное меню. Для этого нам понадобится в проекте создать две сцены и С# скрипт, в котором пишем вот такие строки:
using UnityEngine; using System.Collections; public class puse : MonoBehaviour { public float timer; public bool ispuse; public bool guipuse; void Update() { Time.timeScale = timer; if (Input.GetKeyDown(KeyCode.Escape) && ispuse == false) { ispuse = true; } else if (Input.GetKeyDown(KeyCode.Escape) && ispuse == true) { ispuse = false; } if (ispuse == true) { timer = 0; guipuse = true; } else if (ispuse == false) { timer = 1f; guipuse = false;} } public void OnGUI() { if (guipuse == true) { Cursor.visible = true;// включаем отображение курсора if (GUI.Button(new Rect((float)(Screen.width / 2), (float)(Screen.height / 2) - 150f, 150f, 45f), "Продолжить")) { ispuse = false; timer = 0; Cursor.visible = false; } if (GUI.Button(new Rect((float)(Screen.width / 2), (float)(Screen.height / 2) - 100f, 150f, 45f), "Сохранить")) { } if (GUI.Button(new Rect((float)(Screen.width / 2), (float)(Screen.height / 2) - 50f, 150f, 45f), "Загрузить")) { } if (GUI.Button(new Rect((float)(Screen.width / 2), (float)(Screen.height / 2), 150f, 45f), "В Меню")) { ispuse = false; timer = 0; Application.LoadLevel("Menu"); // здесь при нажатии на кнопку загружается другая сцена, вы можете изменить название сцены на свое } } } }Видео:Создание меню паузы в UnityСкачать
Здесь все просто. Две переменные, одна из которых будет при нажатии на ESC останавливать время, а вторая, при остановке времени будет выводить на экран кнопки меню.
Весь скрипт построен, по сути, на одной функции :
Time.timeScale = timer
TimerScale является, как бы, своеобразными часами которые при значении 1 работают в нормальном режиме и время проходит как обычно, при значении 0,5 время замедляется в 2 раза, а при значении 0 время вообще останавливается. Этим и воспользуемся для создания паузы.
Создадим в проекте пустышку и поместим на нее наш скрипт. При нажатии на ESC игра остановится и на экране появится меню паузы с кнопками, которые пока не все активны. Так же, при нажатии на кнопку «В меню» можно перейти на другую сцену где будет реализовано ваше основное меню игры.
На этом все. Удачных проектов!
🎬 Видео
Как сделать паузу в Unity 3D | Unity 5Скачать
Как сделать паузу в Unity !? Туториал за 5 минут #unityСкачать
ДОБАВЛЯЕМ ГЛАВНОЕ МЕНЮ И ПАУЗУ В ИГРУ. Unity 3DСкачать
Уроки по Unity 3D,скриптинг для новичков,пауза в Unity,меню паузыСкачать
UNITY 5 ДЛЯ НАЧИНАЮЩИХ | МЕНЮ. ПАУЗА В ИГРЕ #1Скачать
Как сделать паузу в Unity 2D / туториалСкачать
Пауза в игре | Уроки по вашим заявкам! | Unity 5Скачать
[UNITY 5] Создание игры "Hill Climb Racing" [#9] - Меню паузы и нововведения.Скачать
Функция, которая будет выполнена через 5 секунд - UNITY 3DСкачать
Меню паузы в Unity - легкоСкачать
Unity 5 уроки,пауза в игре,как сделать паузу,остановка игры,timescaleСкачать
UNITY ПАУЗА В ИГРЕ #1 НАЧАЛОСкачать
Пауза в игре на Unity за минуту #shortsСкачать
Unity и редактор скриптовСкачать
[UNITY] Как добавить паузу в игру на Unity.Скачать
Пауза, рестарт и управление сценами в UnityСкачать
UNITY ПАУЗА В ИГРЕ #5 ПЕРЕВОД ТЕКСТАСкачать
КАК СДЕЛАТЬ ПАУЗУ & МЕНЮ | UNITY 2DСкачать
Как правильно сделать пауза в игре на Unity.Скачать
На функцию
Application.LoadLevel( );
Юнити 5 ругается как на устаревшую.
У них на сайте рекомендуют использовать SceneManager.LoadScene( ). При этом нужно будет подключить библиотеку SceneManagement.
using UnityEngine.SceneManagement;
. . .
SceneManager.LoadScene( );