카테고리 없음

스크립트간 연결

rxo2 2025. 3. 19. 20:59

다른 스크립트에서 작성된 UI 관련 메서드를 플레이어 스크립트에서 호출하여 연결하는 방법

1. UI 스크립트의 메서드를 public으로 설정

public void OnOffMenu()
{
    MenuUIGameObject.SetActive(!MenuUIGameObject.activeSelf);
}

 

2. UI 스크립트를 찾을 수 있도록 참조 변수 생성

public MenuUI menuUI;  // UI 스크립트를 참조할 변수

menuUI에 값이 비어 있음(null)

 

3. Awake() 또는 Start()에서 UI 스크립트 연결 FindObjectOfType<MenuUI>() 사용, 간단하지만 불안전

private void Start()
{
    menuUI = FindObjectOfType<MenuUI>(); // 씬에서 MenuUI 스크립트가 있는 오브젝트 찾기
}

 

3-1. Inspector에서 수동으로 연결

public MenuUI menuUI;

 

  • PlayerController가 있는 오브젝트를 선택
  • Inspector에서 menuUI 변수에 MenuUI가 포함된 UI 오브젝트를 드래그하여 연결

4. 플레이어 스크립트에서 UI 메서드 호출

public void OnMenu(InputAction.CallbackContext context)
{
    if (context.phase == InputActionPhase.Started) // ESC 키 입력 감지
    {
        TogglePause();
        menuUI.OnOffMenu();  // UI 메서드 호출
    }
}