Coroutine

class in UnityEngine

Cambiar al Manual

Descripción

MonoBehaviour.StartCoroutine returns a Coroutine. Instances of this class are only used to reference these coroutines, and do not hold any exposed properties or functions.

A coroutine is a function that can suspend its execution (yield) until the given YieldInstruction finishes.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { IEnumerator WaitAndPrint() { // suspend execution for 5 seconds yield return new WaitForSeconds(5); print("WaitAndPrint " + Time.time); }

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

// Start function WaitAndPrint as a coroutine yield return StartCoroutine("WaitAndPrint"); print("Done " + Time.time); } }

This example shows a normal Start:

using UnityEngine;
using System.Collections;

// In this example we show how to invoke a coroutine and execute // the function in parallel. Start does not need 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");

// Start function WaitAndPrint as a coroutine.

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"); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961