Notice
Recent Posts
Recent Comments
Link
bdfgdfg
Coroutine(코루틴) 본문
반응형
Coroutine
함수의 상태를 저장/복원 가능.
엄청 오래걸리는 작업을 잠시 멈추거나, 원하는 타이밍에 함수를 잠시 멈추고 복원하는 경우에 사용가능하다.
return값을 IEnumerator로 하는데 어떠한 타입도 return이 가능하다.
기본적인 사용법
// 인터페이스 IEnumerable을 추가.
public class TestCoroutine : MonoBehaviour, IEnumerable
{
public IEnumerator GetEnumerator()
{
yield return 1;
}
}
매우 많은곳에서 응용이 가능하지만, 게임에서 예로들어보면 스킬사용에 대해서도 코루틴을 사용할 수 있다.
스킬하나를 사용하고 대기시간이 4초. 이럴때에도 코루틴을 응용할 수 있다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TestCoroutine : MonoBehaviour
{
void Start()
{
// 밑의 코루틴을 사용하기위해 StartCoroutine을 사용
StartCoroutine("ExplodeAfterSeconds", 4.0f);
}
IEnumerator ExplodeAfterSeconds(float seconds)
{
Debug.Log("Explode Enter");
//seconds시간만큼 대기.
yield return new WaitForSeconds(seconds);
Debug.Log("Explode Execute");
}
}
이렇게 시간을 기다렸다가 사용하는데에서 코루틴을 많이 사용한다고 한다.
반응형
'게임프로그래밍 > Unity' 카테고리의 다른 글
데이터 관리(Json) (0) | 2021.08.08 |
---|---|
Animation State패턴 (0) | 2021.08.06 |
투영 (0) | 2021.08.05 |
Raycasting / LayerMask (0) | 2021.08.05 |
Input Manager / Resource Manager (0) | 2021.08.05 |
Comments