본문 바로가기
프로그래밍

Unity UI의 핵심 요소, Toggle

by blacknabis 2024. 5. 9.

Unity UI의 핵심 요소, Toggle

Unity 개발에서 UI 구성 요소 중 하나인 Toggle은 사용자가 설정을 켜고 끌 수 있는 간단한 스위치 역할을 합니다. 이 포스트에서는 Unity의 Toggle 컴포넌트의 기본 사용법부터 고급 활용 방법까지 다루어 보겠습니다.

기본 설정

1. Toggle 추가하기

Unity 에디터에서 Canvas 아래에 새 Toggle을 추가하려면, Hierarchy 패널에서 Canvas를 선택한 후, Right-click > UI > Toggle을 선택합니다. 이렇게 하면 Canvas 아래에 Toggle과 그 자식 요소로 BackgroundCheckmark 그리고 Label이 생성됩니다.

2. Toggle 속성 설정

Inspector 패널에서 Toggle 컴포넌트의 다양한 속성을 설정할 수 있습니다:

  • Is On: Toggle의 초기 활성화 상태를 결정합니다.
  • Interactable: Toggle이 사용자 입력을 받을 수 있는지 설정합니다.
  • Transition: Toggle의 상호 작용 피드백 스타일을 설정할 수 있습니다 (예: Color Tint, Sprite Swap).

이벤트 처리

Toggle은 사용자가 상태를 변경할 때마다 이벤트를 발생시킵니다. On Value Changed 이벤트를 통해 이러한 상태 변화에 반응하여 추가적인 코드를 실행할 수 있습니다.

스크립트를 통한 이벤트 리스너 추가

using UnityEngine;
using UnityEngine.UI;

public class ToggleController : MonoBehaviour
{
    public Toggle myToggle;

    void Start()
    {
        myToggle.onValueChanged.AddListener(OnToggleChanged);
    }

    void OnToggleChanged(bool value)
    {
        Debug.Log("Toggle is now " + (value ? "On" : "Off"));
    }
}

위 예제에서는 myToggle이라는 public 변수에 에디터에서 Toggle을 할당하고, Start 메서드에서 OnValueChanged 이벤트에 리스너를 추가합니다. Toggle의 상태가 바뀔 때마다 OnToggleChanged 메서드가 호출되어 현재 상태를 콘솔에 출력합니다.

응용 예제: Toggle 그룹 생성

여러 Toggle을 그룹화하여 라디오 버튼처럼 사용할 수 있습니다. 이때는 각 Toggle의 Group 속성에 동일한 ToggleGroup 컴포넌트를 할당합니다.

Toggle Group 설정 방법

  1. Canvas 아래에 Toggle Group이라는 새 GameObject를 생성합니다.
  2. 생성된 GameObject에 ToggleGroup 컴포넌트를 추가합니다.
  3. 각 Toggle의 Group 필드에 이 ToggleGroup 컴포넌트를 드래그합니다.

이렇게 설정하면 해당 그룹의 Toggle 중 하나만이 활성화될 수 있으며, 다른 하나를 선택하면 자동으로 이전에 선택된 Toggle은 비활성화됩니다.

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

C#에서 언더스코어(\_)의 다양한 용도  (0) 2024.05.09
Microsoft Store 제거/설치  (0) 2023.04.16