#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:
проблема заключалась в том, что я удалял все с холста перед созданием черного экрана