Игра не запускается после нажатия кнопки запуска

Ошибок компиляции или предупреждений нет. Моя игра просто начинается с паузы. Я могу осмотреться, но все застыло. Я даже пробовал вызывать Time.timeScale = 1; из различных стартовых функций. «Ошибка при паузе» выключена.

Перезапуск Unity ни на что не влияет.

Почему это происходит?

ПОДСКАЗКА: я понял, что вызов Time.timeScale = 1; не работает, потому что gameObject, к которому был прикреплен скрипт, не был установлен как активный.


person Black    schedule 27.10.2017    source источник
comment
Что вы имеете в виду под «замороженным»? Заморожен редактор или игра зависла? Можете ли вы щелкнуть меню Unity, например GameObject --- ›Create Empty?   -  person Programmer    schedule 27.10.2017
comment
Да, игра запускается с паузы. Я могу оглянуться, но трава не оживляет, а объекты твердого тела, помещенные в воздух, не падают.   -  person Black    schedule 27.10.2017
comment
Я не понимаю, как ответ Да ответил на мой первый вопрос ....   -  person Programmer    schedule 27.10.2017
comment
Я отвечал более чем тремя словами.   -  person Black    schedule 27.10.2017
comment
Нажата ли кнопка паузы в редакторе? Если щелкнуть перед воспроизведением, сцена начнет приостанавливаться.   -  person Mars    schedule 27.10.2017
comment
Нет, не нажимается.   -  person Black    schedule 27.10.2017
comment
И во время игры не щелкает? Если так, то пауза - не самое подходящее слово. Кажется, что Time.timescale равен 0 ... вы где-нибудь устанавливаете его на ноль?   -  person Mars    schedule 27.10.2017
comment
Да, я устанавливал его на 0 после того, как игрок открыл мое меню, нажав ESC, но даже если закомментировать каждое появление Time.timeScale во всем моем проекте, он все равно запускается с паузы. Я использовал блокнот ++ для поиска по всему проекту.   -  person Black    schedule 27.10.2017
comment
Я ответил ниже :)   -  person Mars    schedule 27.10.2017
comment
@Programmer Не могли бы вы отредактировать вопрос, пожалуйста? Это на самом деле довольно сложно решить проблему с небольшим количеством ресурсов, и этот вопрос неточный (шкала времени равна нулю, редактор не приостановлен)   -  person Mars    schedule 27.10.2017


Ответы (2)


Проверьте свой тайм-менеджер. Иногда он случайно повреждается, и шкала опускается до нуля. Диспетчер времени (меню: Правка> Настройки проекта> Время)

person Mars    schedule 27.10.2017
comment
Большое спасибо, что решил ее :) - person Black; 27.10.2017
comment
Непроверенная теория, но повреждение может быть связано с выходом из игры, закрытием игры или сбоями, когда шкала времени в настоящее время равна нулю, но у меня такое ощущение, что это происходило в играх, где я никогда не касался шкалы времени ... . - person Mars; 27.10.2017
comment
Отличный совет - но не для меня! - person Fattie; 09.08.2020

Вы пытались принудительно включить паузу в скрипте?

EditorApplication.isPlaying = true;

Игра может начинаться с паузы также из-за некоторых неизвестных проблем с активами, поэтому вы можете попробовать их повторно импортировать. Если это не поможет, вашим следующим шагом должна быть переустановка единства.

Также убедитесь, что вы не выполняете очень трудоемкие операции с Awake() и Start().

person Dreik    schedule 27.10.2017
comment
Игра может быть поставлена ​​на паузу также из-за некоторых неизвестных проблем с ассетами, поэтому вы можете попробовать их повторно импортировать Не знаю, откуда вы это взяли ... - person Programmer; 27.10.2017
comment
comment
Мое плохое, Unity переместила его на EditorApplication.isPlaying - person Dreik; 27.10.2017
comment
Но как мне заставить его возобновить работу с помощью геттера? - person Black; 27.10.2017
comment
EditorApplication не доступен только для чтения (или, по крайней мере, isPaused не доступен). Кроме того, если кнопка паузы не отображается в вашем редакторе, вы не приостановили - person Mars; 27.10.2017
comment
EditorApplication.isPlaying одновременно является сеттером и получателем, я только что проверил это в своем Unity. Также, как только что указал @Mars, поскольку ваша кнопка паузы не проверена, ваша игра не приостановлена. - person Dreik; 27.10.2017
comment
Хорошо, я попробовал EditorApplication.isPlaying = true, но это тоже не работает. Однако я заметил, что если я покажу свой gameObject, к которому прикреплен скрипт, то могу запустить игру, вызвав Time.timeScale = 1. Но почему мне даже нужно принудительно устанавливать timeScale на 1, даже если он не перезаписывается при запуске? - person Black; 27.10.2017