Возврат доходности новые секунды ожидания(2) не работают

#unity3d

Вопрос:

Выполнение простого перехода пользовательского интерфейса между сценами. Когда нажимаем кнопку «Воспроизвести», черный экран начинает исчезать, затем ждем 2 секунды, чтобы завершить исчезновение, а затем загружаем новую сцену. Но LoadScene не звонит, потому что скрипт не идет после того, как вернет новые секунды ожидания(2)

 private void Awake() {  Init(); }  private void Init() {  _firstMapButton.onClick.AddListener(() =gt;  {  UIManager.Instance.ShowFadeIn();  Debug.Log("StartFadeIn");  StartNewMap();  Debug.Log("EndOfListener");  }); }  private void StartNewMap() {  StartCoroutine(StartNewMapCoroutine()); }  private IEnumerator StartNewMapCoroutine() {  Debug.Log("Coroutine has started");  yield return new WaitForSeconds(2);  Debug.Log("SceneLoadDemoScene");  SceneManager.LoadScene(StaticSceneNames.DEMO_SCENE); }  

И есть журналы:

  • СтартФадеЙн
  • Сопрограмма запущена
  • ЭндОфЛистенер

Комментарии:

1. Если компонент был отключен или уничтожен, сопрограмма не будет работать.

2. @shingo да, проблема заключалась в том, что я удалял все с холста перед созданием черного экрана

Ответ №1:

проблема заключалась в том, что я удалял все с холста перед созданием черного экрана