Unity - запускается ли скрипт Awake () до запуска других скриптов Start ()? - PullRequest
0 голосов
/ 17 марта 2019

Они говорят, что Awake () вызывается перед Start (), но не упоминают, должны ли эти функции принадлежать одному и тому же сценарию.

Ответы [ 2 ]

5 голосов
/ 17 марта 2019

Они говорят, что Awake () вызывается перед Start (), но не упоминают, должны ли эти функции принадлежать одному и тому же сценарию.

Все Awake () в сцена вызывается перед любым Start ().Не имеет значения сценарий, к которому они принадлежат.Если GameObject, к которому прикреплен скрипт, не активен во время запуска Awake, то он не вызывается, пока GameObject не станет активным.From https://docs.unity3d.com:

Загрузка первой сцены

Эти функции вызываются при запуске сцены (один раз для каждого объекта в сцене).

  • Пробуждение : эта функция всегда вызывается перед любыми функциями запуска, а также сразу после создания префаба.(Если GameObject неактивен во время запуска, Awake не вызывается до тех пор, пока он не станет активным.)
  • OnEnable : (вызывается только если объект активен): эта функция вызывается сразу послеобъект включен.Это происходит при создании экземпляра MonoBehaviour, например при загрузке уровня или создании экземпляра GameObject с компонентом скрипта.
  • OnLevelWasLoaded : эта функция выполняется для информирования игры о том, чтоновый уровень был загружен.

Обратите внимание, что для объектов, добавленных на сцену, функции Awake и OnEnable для всех сценариев будут вызываться до вызова Start, Update и т. Д. Для любого из них.Естественно, это не может быть применено, когда объект создается во время игры.

Подробнее об этом здесь

В качестве отступления : Вы этого не сделалиспросите об этом, но в случае, если по какой-либо причине вам нужно, чтобы некоторые сценарии выполнялись раньше других, вы можете проверить эту ссылку о том, как установить порядок выполнения сценария (Это касается порядка сценариев, нетпорядок методов внутри каждого скрипта)

0 голосов
/ 17 марта 2019

Мой эксперимент показал, все Awake () в сцене выполняются до того, как все Start ().

Я создал 10 сценариев и соответственно поместил их в 10 игровых объектов.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...