반응형

개발을 하다보면 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

+ Recent posts