Скрипт, который запускает на старте поочередное выполнение трёх каких-нибудь команд.
public class ThreeStep : MonoBehaviour
{
private IEnumerator Start()
{
yield return new WaitForSeconds(1f);
Debug.Log(“Шаг 1”);
yield return new WaitForSeconds(1f);
Debug.Log(“Шаг 2”);
yield return new WaitForSeconds(1f);
Debug.Log(“Шаг 3”);
}
}
Yield
Yield – ключевое слово. В Unity применяется как указание ожидать указанное количество времени. В примере это одна секунда, но есть еще несколько классов, которые могут использованы:
- WaitForSeconds(float) — пауза на заданное время.
- WaitForEndOfFrame () — пауза до конца кадра.
- WaitForFixedUpdate — пауза до следующего фиксированного кадра (стоит подумать о методе FixedUpdate).
- null — не ждать. Дальше я покажу, где это может быть полезно.
- break — преждевременный выход. Это похоже на использование break в циклах.
Постепенное увеличение прозрачности
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class karutina : MonoBehaviour
{
public Color c;
void Start()
{
c = GetComponent<Renderer>().material.color;
StartCoroutine(Fade());
}
IEnumerator Fade()
{
for (float f = 1f; f >= 0; f -= 0.001f)
{
c.a = f;
GetComponent<Renderer>().material.color = c;
yield return null;
}
}
}