만들어둔 함수를, 일회성으로 딜레이를 주어서 실행을 하고 싶을때 Invoke() 함수를 사용할 수 있다.
Coroutine() 과의 차이에 대해 알기 위해서 gpt 검색을 해보았고 해당 내용을 추가 기록 해둔다.
Invoke()
함수는 Unity에서 제공하는 함수 중 하나로, 일정한 시간이 지난 후에 특정한 함수를 실행하도록 하는 데 사용됩니다.
public void ExampleFunction()
{
Debug.Log("Example Function Called");
}
void Start()
{
// 2초 후 ExampleFunction 호출
Invoke("ExampleFunction", 2.0f);
}
위의 예제에서 Invoke("ExampleFunction", 2.0f);
은 ExampleFunction
함수를 2초 후에 호출하도록 예약합니다. Invoke
는 문자열로 함수의 이름을 받아 호출합니다.
Invoke
는 주로 한 번만 실행되는 함수를 예약할 때 사용됩니다. 예를 들어, 특정 딜레이 후에 한 번만 어떤 처리를 하고자 할 때 유용합니다.
Coroutine은 비동기적인 코드 실행을 가능케 하는데, Unity에서는 대부분의 경우에 Invoke
대신 StartCoroutine
을 사용하는 것이 더 유연하고 효과적일 수 있습니다. Coroutine은 중간에 중지하거나 계속 실행할 수 있는 루틴을 생성할 수 있어서 여러 작업을 병렬로 수행하는 데 유용합니다. Coroutine은 IEnumerator를 반환하는 함수로 작성되며, yield return new WaitForSeconds(2.0f);
와 같은 코드를 사용하여 지연을 주는 것이 가능합니다.
간단히 말하면, Invoke
는 한 번만 실행되는 간단한 딜레이를 주고자 할 때 사용되고, Coroutine은 보다 복잡하거나 지속적인 작업을 처리할 때 사용됩니다. Coroutine은 상태를 유지하면서 실행되기 때문에 더 다양한 상황에서 활용할 수 있습니다.
'Unity' 카테고리의 다른 글
Lerp에 관한 분석 필요한 코드 내용. (0) | 2023.12.12 |
---|---|
핸드폰으로 구동되는 프로그램을 종료하고 싶을때 사용할 수 있는 Unity에서의 코드 (0) | 2023.12.10 |
Button 에서 Navigation 설정에서, None으로 했을시에 역할에 대하여. (0) | 2023.12.10 |
다양한 해상도에 맞게 자동 조절되는 UI 설정 방법. Scale With Screen Size 설정 (0) | 2023.12.09 |
FindObjectsOfType<T>() 함수와 FindObjectsByType<T>() 함수의 차이점 (0) | 2023.12.08 |