Итак, я пытаюсь уничтожить врагов в замкнутом цикле, ожидая 1 секунду между ними (может ли они сделать ожидание немного сложнее?) Проблема в том, что все враги уничтожаются одновременно, theyre не ожидая WaitForSEconds. В моей петле while я называю каждого врага своим тегом, который идет от Enemy1 до Enemy5. Heres мой код.Проблемы с IEnumerator WaitForSeconds в Unity
void OnTriggerEnter(Collider otherObject)
{
int i=1;
while (i<=numenemies)
{
string tag="Enemy"+i;
destroyenemy=GameObject.FindGameObjectWithTag(tag);
Destroy(destroyenemy);
i++;
StartCoroutine(DestroyWait());
}
}
IEnumerator DestroyWait()
{
Debug.Log ("so far...");
yield return new WaitForSeconds (1);
Debug.Log ("so good");
}
В моей консоли из моего журнала отладки Im получает 4 «до сих пор ...», а затем 4 «так хорошо». его не дожидаясь 1 секунды, а затем выводят так хорошо.
Ive читал об этом, и человеку было так сложно просто приостановить сценарий на 1 секунду! Что я делаю не так?
Как насчет 'Thread.Sleep (1000)'? –