📘프로그래밍/Unity

[Unity] 02 버튼 입력 대기

bohemdev1 2024. 11. 19. 04:03

개요

 

유니티의 버튼 UI가 사용자의 입력을 받도록 대기시키는 여러가지 방법들 소개

 

 

 

본문

 

기본적으로 버튼 입력을 받도록 대기하는 기능은 함수를 통해 구현합니다. 대표적인 구현 방법은 다음과 같습니다.

  • 람다식 표현을 통한 구현 방법
  • 델리게이트(Delegate) 함수를 통한 구현 방법
  • 유니티 인스펙터(Inspector) 창에서 직접 설정하는 벙법

 

 

람다식 표현을 통한 구현

 

네임스페이스 UnityEngine.Events 에서 제공하는 onClick 이벤트의 멤버 함수 AddListener 를 통해 사용자의 입력을 감지합니다. 입력 시 수행할 동작은 AddListener 인수에 람다식 으로 전달합니다. 기본 형태는 다음과 같습니다.

m_MyButton.onClick.AddListener(() =>
{
	// List to do
});

 

 

 

델리게이트(Delegate) 함수를 통한 구현 

 

사용자 정의 이벤트 함수를 포인터로 AddListener 에 전달하는 방식입니다. 함수를 포인터로 인수 전달하는 형식을 C#의 경우 델리게이트(Delegate) 형식 이라고 부릅니다. 기본 형태는 다음과 같습니다.

void Start()
{
	m_MyButton.onClick.AddListener(MyBtnFunc);
}
    
void MyBtnFunc()
{
	// List to do
}

 

 

 

인스펙터(Inspector) 창에서 직접 설정

 

일반적으로 버튼 오브젝트의 인스펙터 창에는 Button 컴포넌트가 존재합니다.

버튼의 인스펙터 창

 

Button 컴포넌트는 해당 버튼의 상호 작용 가능 여부, 상황별 버튼의 시각적 효과, 클릭 시 발생하는 이벤트 등 버튼으로서의 기능을 수행할 때 필요한 요소들로 구성됩니다.

 

 

그 중 OnClick 메서드 항목에서 사용자 정의 이벤트 메서드를 찾아 연결합니다. 구체적인 방법은 다음과 같습니다.

 

  1. 해당 메서드가 속한 스크립트를 컴포넌트로 갖는 오브젝트를 대상 오브젝트로 지정합니다.
  2. 목록에서 이벤트 메서드를 선택합니다.

 

 

 


 

 

Unity - Scripting API: Events.UnityEvent.AddListener

Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Close

docs.unity3d.com

 

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

[Unity] 01 PlayerPrefs  (1) 2024.11.15