
#6 - Корутины (Coroutines)
Корутины позволяют выполнять код с определенной задержкой во времени. За урок мы научимся создавать корутины, а также построим несколько программ на основе корутин.
Видеоурок
Исходный код
Реализация корутин
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Script : MonoBehaviour {
public GameObject obj;
void Start () {
Invoke ("Inst", 2f);
}
void Update () {
if (Input.GetKey (KeyCode.F))
StartCoroutine (instObj ());
}
void Inst () {
Instantiate (obj, new Vector3 (Random.Range (-10f, 10f), 0f, Random.Range (-10f, 10f)), Quaternion.identity);
}
IEnumerator instObj () {
while (true) {
Instantiate (obj, new Vector3 (Random.Range (-10f, 10f), 0f, Random.Range (-10f, 10f)), Quaternion.identity);
yield return new WaitForSeconds (1.5f);
}
}
}
Задание к уроку
Генерация надписей
Создайте корутину, что будет писать сообщение «Пример» в консоль каждые 2.3 секунды.
Посмотреть ответ
Вы могли сделать это так:
void Start () {
StartCoroutine (print ());
}
IEnumerator print () {
while (true) {
print ("Пример");
yield return new WaitForSeconds (2.3f);
}
}
Получить остальные домашние задания можно после подписки на проект
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Также стоит посмотреть