Я хочу, чтобы понять концепцию coroutine
я не знаю, почему код остановка в том, когда он print 1,2,3
. В этом коде цикле должен работать в 30 раз и значение печати 1 до 30.C#: Как couroutine остановить цикл
public class NewCore : MonoBehaviour
{
void Start()
{
StartCoroutine (MyCoroutine (0.52f));
StartCoroutine (CoroutineKiller (2f));
}
IEnumerator MyCoroutine (float delay)
{
int value = 0;
while (value < 30)
{
yield return new WaitForSeconds (delay);//wait
value ++;
print (value);
}
StartCoroutine (MyCoroutine (delay));
}
IEnumerator CoroutineKiller (float delay)
{
yield return new WaitForSeconds (delay);
StopAllCoroutines();
}
}
но при запуске() метод 'StartCoroutine (MyCoroutine (0.52f)' выполнение сначала запускается, тогда будет запускаться второй метод 'StartCoroutine (CoroutineKiller (2f))'. Как он автоматически останавливает курок, когда происходят 2 секунды? –
@ cenkisabi Я не знаю, как код знает, когда 2 секунды завершил его, остановит «coroutine», он перескакивает на этот метод «StartCoroutine» (CoroutineKiller (2f)) ' –
@TimAllen См. обновление – SimpleVar