반복하지만 반복시기와 종료시기의 조작을 원할때 Invoke와 Coroutine을 사용한다.

 

그렇다면 둘의 차이는 무엇인가

 

대표적으로는

 

Invoke의 조작 코드가 좀 더 간결하다.

 

Invoke("FuncName", 1f);

Func()
{ 
   //1초 뒤에 함수 시작   
}

 

함수의 반복을 원하면

InvokeRepeating("FuncName", 1f, 10f);

 

이렇게 하면 함수가 1초 후 시작되며 이후 10초에 간격을 두고 반복 작동한다.

 

 

이전에 올렸던 Coroutine 조작법에 비해 간단하다. 대신 매개변수를 선언할 수 없다.

 

그리고 오브젝트가 꺼지면 Coroutine은 같이 종료하지만 Invoke는 계속 동작한다.

 

그렇다면 오브젝트가 파괴되면 어떻게 될까?

당연히 Invoke도 없어졌다.

 

추가로 씬이 바뀌는 경우 Invoke는 Coroutine과 다르게 GameMng Instance에서도 실행이 안된다. 왜인지는 모르지만 부를 수 없다는 문구가 뜸

 

마지막으로 취소를 원한다면

CancelInvoke("FuncName");

 

인자에 입력값이 없으면 해당 MonoBehaviour에서 작동하는 모든 Invoke가 멈춘다.



'게임 프로그래밍 > Unity' 카테고리의 다른 글

게임오브젝트를 특정 오브젝트의 자식으로 생성하고 위치 정할 때 주의사항  (0) 2021.11.12
DropDown 사용법  (0) 2021.11.12
무한루프  (0) 2021.11.12
Z 위치에 대해서  (0) 2021.11.12
AddComponent  (0) 2021.11.12
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
위와 같은 스크립트 코드를 추가하면 H2가 두 개 이상이거나 H3가 두 개 이상인 경우 첫 번째 H2 헤딩 태그 앞에 목차를 표시합니다. 만약 H2가 한 개도 없으면 목차가 표시되지 않습니다. H3 이상부터 있는 경우에는 코드를 조금 수정해야 합니다. 다음과 비슷하게 하면 잘 작동합니다.