Coroutines & Yield 협동 프로그램 & 중단

1506 단어
untiy에서 자주 사용하는 방법:
Coroutines & Yield 협동 프로그램 & 중단
그의 역할은 다음과 같다.
게임 코드를 쓰는 데는 종종 연속적인 이벤트로 코드가 필요하다.결과는 다음과 같습니다.
public class example : MonoBehaviour {
	private int state = 0;
	void Update() {
		if (state == 0) {
			state = 1;
			return;
		}
		if (state == 1) {
			state = 2;
			return;
		}
	}
}

왕왕 중단된 문장을 사용하는 것이 더욱 편리하다.인터럽트 문장은 인터럽트 문장의 다음 줄에서 함수를 계속 실행할 수 있도록 하는 특수한 반환 형식입니다.
using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	IEnumerator Awake() {
		while (true) {
			yield return null;
			yield return null;
		}
	}
}

공식 설명에서 알 수 있듯이 그는 연속적으로 집행할 수 있고 절차의 집행을 보장하는 절차이다.
그는 협동 프로그램이지 부가 라인이 아니라 주 라인에서 실행된다.
실제 사용 중 두지주와 같은 유저가 카드를 순환해서 내야 하기 때문에 이렇게 사용할 수 있다.
using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    void Start() {
        StartCoroutine(a1());
    }

    IEnumerator a1() {
        print("a1");
        yield return new WaitForSeconds(4);
        StartCoroutine(a2());
       
    }
    IEnumerator a2()
    {
        print("a2");
        yield return new WaitForSeconds(4);
        StartCoroutine(a3());
    }
    IEnumerator a3()
    {
        print("a3");
        yield return new WaitForSeconds(4);
        StartCoroutine(a1());
    }
}

코드를 통해 알 수 있듯이 yield return과 방법 안의 return 개념은 완전히 다르다. 무언가를 되돌려주는 것이 아니라 그의 이전 순서가 먼저 집행되도록 보증한다. 이렇게 하면 하나하나 집행할 수 있고 동시에 집행하지 않는다.

좋은 웹페이지 즐겨찾기