반응형
개발을 하다보면 update문도 덜 사용해서 최적화를 하고자하고
그러다보면 update와 같은 기능이 필요할때
우리는 Coroutine을 알아가게 됩니다.
오늘 고민하다 찾은 내용과 함께 정리합니다.
1)사용 이유
: 무언가 내가 뭔짓을 해도 계속 코드가 실행되어야 할 때. ( ex: 시간 등)
2)사용 법
: 아래와 같이 3가지가 한셋트로 구성되어 있음
: 코르틴 작성 시 , yield return + null(1프레임 대기) , break(그냥 중지), new waitforsecound();(지정 시간 동안 대기) 등 다양한 내용있음
1 2 3 4 5 6 7 8 | StartCoroutine('시작할 코르틴 함수'); //코르틴 시작 StopCoroutine('시작할 코르틴 함수'); //코르틴 중지 IEnumerator 함수이름(변수타입 변수이름) //코르틴 작성 { yield return null; } | cs |
3)작성자가 고민한 부분
: 코르틴이 멈추질 않아요.
: 해결 방법 = 아래와 같이 코르틴을 특정 변수에 담아서 사용하면 잘 멈추는 것을 확인
무슨차이로 이렇게 발생하는지는 개념적으로는 잘 모릅니다... 수정후 확인하니 잘 멈춥니다. ㅠㅠ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | private IEnumerator co; void Start() { co = null; co = EX(); //담을 함수 } StartCoroutine(co); //코르틴 시작 StopCoroutine(co); //코르틴 중지 IEnumerator EX(변수타입 변수이름) //코르틴 작성 ex는 예제로 넣은 함수명 - 특정 변수가 불필요하면 ()안은 비우면됩니다. { yield return null; } | cs |
Unity 쪽 설명에도 이러한 형태로 사용하도록 작성되어 있다.
기타 자세한 Coroutine 사용 법은 다른 고수님들께서 개념설명을 잘 해주셔서 찾아서 보시는게 용이할 듯 하다.
작성자는 야매수준....
반응형
'개발이야기 > Unity & C# 코딩' 카테고리의 다른 글
Raycast - CircleCast (0) | 2018.03.26 |
---|---|
admob 두번째 - 기다려도 광고가 안나와요.... ㅠㅠ (0) | 2018.03.23 |
Rigidbody(2D) constraints 설정 (0) | 2018.03.07 |
Admob 배너광고 (0) | 2018.02.08 |
IsEnabled (0) | 2018.02.08 |