안녕하세요

프로그램 과정에서 막혔던 문제들에 대한 해결책 정리


페이지 목록

2025년 11월 25일 화요일

[유니티][Unity][C#] Invoke() 사용

  Invoke()는 C#에서 "호출하다" 또는 "실행하다" 라는 뜻을 가진 메서드 또는 키워드이다.

 MVP로 코드를 만들 때 Invoke()는 이벤트(Event) 트리거로 사용된다.


1. 이벤트 트리거로서의 Invoke()

 C#에서 event Action OnDied; 와 같이 선언된 이벤트 핸들러를 실행하기 위해 내부적으로 invoke()를 사용한다.

 public event Action OnDied;

 if(_playerHealth == 0)

{

  OnDied?.Invoke();

}

 ?. (널 조건부 연산자): null인지 아닌지 판단해서 Null이 아니면 OnDied 이벤트에 구독된 하나 이상의 메서드가 있다면

Invoke(): 연결된 모든 메서드를 순서대로 호출(실행) 할 것

 플레이어 체력이 0이 되면 OnDied에 이벤트를 발생시켜 "체력이 0이 되었다"고 알려서 모두 실행시키게 한다.


2. Unity의 Invoke()메서드

  Unity에 있는 MonoBehaviour 클래스는 Invoke()라는 이름의 내장 메서드를 제공한다. 이 메서드는 특정 시간 지연 후에 함수를 실행하도록 한다.

void Start()

{

    Invoke("GameStart", 5f);

}


void GameStart()

{

    Debug.Log("게임 시작");

}


5초 후에 게임을 시작하도록 하는 Invoke 함수의 사용


 구글 AI의 도움을 받아 작성하였습니다.

댓글 없음:

댓글 쓰기