Решил заняться переводом англоязычных уроков по Unity3D специально для gcup.ru Что же делать, если необходимо поставить игру на паузу? Давайте рассмотрим подробно каждое действие. Сначала вам нужно создать объект, на котором будет "висеть" наш скрипт. Я рекомендую создать новый отдельный пустой объект. Вкладка GameObject -> Create Empty. Для примера, назовем наш объект Manager. Этот объект будет носить наш скрипт. Приступим непосредственно к написанию скрипта. Создайте новый скрипт Вкладка Project -> Create -> Javascript. Откройте созданный файл двойным кликом. Сначала нам нужно создать булевую переменную, чтобы определять, стоит ли игра на паузе или нет. По умолчанию зададим ей значение false.
Code
var paused : boolean = false;
Далее в функции Update проверим, нажата ли клавиша (в нашем случае - левая кнопка мыши)
Code
function Update () { if(Input.GetButtonUp("Fire1")){
Если клавиша нажата и переменная paused равна false, то меняем значение переменной на true и останавливаем игровое время.
Теперь мы можем ставить нашу игру на паузу. Но ведь нужно же еще и научиться возвращать привычный ход игрового времени? Дополняем проверку переменной paused. Если переменная равна true и нажата кнопка - меняем ее значение на false и запускаем игровое время. Команда Time.timeScale = x может иметь значение x от 0 до 1. 0 - время остановлено, 1 - соответственно, время идет как ему и полагается.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Unity3D - ставим игру на паузу», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Вы можете заменить кнопки "Jump" и "Fire1" на любые, которые вам необходимы.http://unity3d.com/support/documentation/ScriptReference/KeyCode.html Просто когда переводил, решил что будет нагляднее использовать ЛКМ вместо пробела, а конечный скрипт исправить забыл.