MonoBehaviour 方法可以是 Coroutines

有三种 MonoBehaviour 方法可以制作协同程序。

  1. 开始()
  2. OnBecameVisible()
  3. OnLevelWasLoaded()

例如,这可用于创建仅在对象对摄像机可见时执行的脚本。

using UnityEngine;
using System.Collections;

public class RotateObject : MonoBehaviour
{
    IEnumerator OnBecameVisible()
    {
        var tr = GetComponent<Transform>();
        while (true)
        {
            tr.Rotate(new Vector3(0, 180f * Time.deltaTime));
            yield return null;
        }
    }
    
    void OnBecameInvisible()
    {
        StopAllCoroutines();
    }
}