Корутіни
Після запуску п'ять разів рухати об'єкт все швидше
void Update () {
if (Input.GetKeyDown(KeyCode.F)) StartCoroutine(K1());
}
IEnumerator K1() { // реалізація інтерфейсу IEnumerator
while (true)
{
for (int i = 0; i < 5; i++)
{
transform.Translate(Vector3.right * i);
yield return new WaitForSeconds (1f);
}
}
}
Зупинити корутін
private IEnumerator coroutine;
void Start()
{
coroutine = P1(5f);
StartCoroutine(coroutine);
}
IEnumerator P1(float t)
{
while (true)
{
Debug.Log("1");
yield return new WaitForSecondsRealtime(t);
Debug.Log("2");
}
}
void Update()
{
if (Input.GetKeyDown("space"))
{
StopCoroutine(coroutine);
}
}