Не работает WaitForSeconds()

Программирование на Юнити.

Не работает WaitForSeconds()

Сообщение kekich 28 мар 2021, 18:32

Есть вот такой вот кусок скрипта:
Синтаксис:
Используется csharp
void Update()
    {
        for (int i = 0; i < players; i++)
        {
            role.text = $"Player {i + 1}, get ready!";
            StartCoroutine(waitFiveSecs());
            if (roles[i] == 1)
            {
                role.text = $"You're a spy";
            }
            else
            {
                role.text = $"You're in the {place}";
            }
            StartCoroutine(waitFiveSecs());
        }
        SceneManager.LoadScene("game");
    }
    IEnumerator waitFiveSecs()
    {
        yield return new WaitForSeconds(5);
    }

players>0, но при выполнении скрипта сразу перекидывает на сцену "game". Где может быть ошибка? :-?
kekich
UNец
 
Сообщения: 15
Зарегистрирован: 25 май 2020, 18:49

Re: Не работает WaitForSeconds()

Сообщение 1max1 28 мар 2021, 18:51

Действительно... Ты правда считаешь что в апдейте будет задержка от корутины? =)) Весь цикл нужно засунуть в корутину и стартовать ее точно не в апдейте.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Не работает WaitForSeconds()

Сообщение kekich 28 мар 2021, 19:14

окей, спасибо за помощь.
kekich
UNец
 
Сообщения: 15
Зарегистрирован: 25 май 2020, 18:49


Вернуться в Скрипты

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

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