Головна‎ > ‎Unity‎ > ‎Інші скрипти‎ > ‎

Корутіни

Start - створить 1 об'єкт
Update - створить дуже багато об'єктів
Корутін - створюватиме стільки, скільки треба


public GameObject obj;


void Update () {
     // без Down можна запустити серію Корутінів
     if (Input.GetKeyDown (KeyCode.F))  StartCoroutine (Kuratina1 ());     
}

IEnumerator Kuratina1 () {  // реалізація інтерфейсу IEnumerator
     while (true
     {
          Instantiate (obj, new Vector3 (Random.Range (-10f, 10f), 0f, Random.Range (-10f, 10f)), Quaternion.identity);
          yield return new WaitForSeconds (2.5f);  // чекати 2.5 секунди
     }
}





Плавний рух


if (Input.GetKeyDown("d"))
{
StartCoroutine("Go");
}

IEnumerator Go() 
{
for (int i = 0; i < 100; i++)
{
transform.Translate(Vector3.right * Time.deltaTime);
yield return null;     // new WaitForSeconds(2f); 
}
}