Вступить в клуб →
лёгкаявопросКорутины, async/await и UniTask

Мигание щита не выключается после окончания неуязвимости

void OnShieldOn()  => StartCoroutine(Blink());
void OnShieldOff() => StopCoroutine(Blink());

IEnumerator Blink()
{
    while (true) { renderer.enabled = !renderer.enabled; yield return new WaitForSeconds(0.1f); }
}

OnShieldOff вызывается, но персонаж продолжает мигать. Почему?

  • Blink() создаёт новый перечислитель, а не тот
  • StopCoroutine работает только в конце кадра
  • Бесконечный цикл нельзя остановить снаружи
  • WaitForSeconds блокирует остановку корутины

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела