Руководство API скрипты

Coroutine

класс в UnityEngine / Наследует от: YieldInstruction / Реализовано в: UnityEngine.CoreModule

Описание

MonoBehaviour.StartCoroutine возвращает сопрограмму. Экземпляры этого класса используются только для ссылки на эти сопрограммы и не содержат каких-либо открытых свойств или функций.

Сопрограмма — это функция, которая может приостанавливать свое выполнение (выход) до тех пор, пока заданная YieldInstruction не завершится.

using UnityEngine; using System.Collections;

public class ExampleClass : MonoBehaviour { IEnumerator WaitAndPrint() { // приостановить выполнение на 5 секунд yield return new WaitForSeconds(5); print("WaitAndPrint " + Time.time); }

IEnumerator Start() { print("Starting " + Time.time);

// Запускаем функцию WaitAndPrint как сопрограмму yield return StartCoroutine("WaitAndPrint"); print("Done " + Time.time); } }

В этом примере показано обычное начало:

using UnityEngine; using System.Collections;

// В этом примере мы показываем, как вызвать сопрограмму и выполнить // функция параллельно. Для начала не нужен IEnumerator.

public class ExampleClass : MonoBehaviour { private IEnumerator coroutine;

void Start() { // - After 0 seconds, prints "Starting 0.0 seconds" // - After 0 seconds, prints "Coroutine started" // - After 2 seconds, prints "Coroutine ended: 2.0 seconds" print("Starting " + Time.time + " seconds");

// Запускаем функцию WaitAndPrint как сопрограмму.

coroutine = WaitAndPrint(2.0f); StartCoroutine(coroutine);

print("Coroutine started"); }

private IEnumerator WaitAndPrint(float waitTime) { yield return new WaitForSeconds(waitTime); print("Coroutine ended: " + Time.time + " seconds"); } }

Inherited Members

Вы можете отблагодарить автора, за перевод документации на русский язык. Донат
API скрипты 2021.3