Почему может не работать yield return в корутине? [Решено]

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Почему может не работать yield return в корутине? [Решено]

Сообщение NOVA 12 ноя 2023, 17:49

Вот после дебаглога "панель активирована" - тишина...
Синтаксис:
Используется csharp
Debug.Log("Начинаем корутину");
            TutorialPanel.SetActive(true);
            Debug.Log("Панель активирована");
            yield return new WaitForSeconds(0.1f);
            Debug.Log("Прошло время 0.1f");

А если закомментить yield return то все выводится...
Последний раз редактировалось NOVA 13 ноя 2023, 17:15, всего редактировалось 1 раз.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Почему может не работать yield return в корутине?

Сообщение Alkos26Rus 12 ноя 2023, 19:07

Игра на паузе?
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Почему может не работать yield return в корутине?

Сообщение NOVA 12 ноя 2023, 19:35

Alkos26Rus писал(а):Игра на паузе?

Если бы она была на паузе не работало бы ничего наверное. На какой паузе?
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Почему может не работать yield return в корутине?

Сообщение Alkos26Rus 12 ноя 2023, 20:20

Ну может Time.Scale = 0. WaitForSeconds не будет пахать, вместо него WaitForSecondsRealtime нужно юзать
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Почему может не работать yield return в корутине?

Сообщение NOVA 13 ноя 2023, 05:21

Alkos26Rus писал(а):Ну может Time.Scale = 0. WaitForSeconds не будет пахать, вместо него WaitForSecondsRealtime нужно юзать

Да ну нет там ничего такого. Тупо всё перестаёт работать на любом yield return даже не связанном со временем. Например yield return (StartCoroutine blabla) нет возвращения. Поправка: Корутина запускается с другого ГО
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Почему может не работать yield return в корутине? [Решено]

Сообщение NOVA 13 ноя 2023, 17:17

Вобщем что-то щёлкнуло в голове. Сила прониклась в меня.
Я с того скрипта запустил не корутину, а метод, запускающий корутину уже в этом скрипте. И всё заработало.
В чём была проблема. Я дестроил объект, запускающий корутину. То есть корутина выполнялась полностью, но yield return не срабатывали. Unity при этом не подаёт никаких знаков и не виснет. Просто молчит. Что вводит в заблуждение.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28