Unity UI의 핵심 요소, Toggle
Unity 개발에서 UI 구성 요소 중 하나인 Toggle
은 사용자가 설정을 켜고 끌 수 있는 간단한 스위치 역할을 합니다. 이 포스트에서는 Unity의 Toggle
컴포넌트의 기본 사용법부터 고급 활용 방법까지 다루어 보겠습니다.
기본 설정
1. Toggle 추가하기
Unity 에디터에서 Canvas
아래에 새 Toggle
을 추가하려면, Hierarchy 패널에서 Canvas
를 선택한 후, Right-click > UI > Toggle
을 선택합니다. 이렇게 하면 Canvas 아래에 Toggle과 그 자식 요소로 Background
와 Checkmark
그리고 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 설정 방법
Canvas
아래에Toggle Group
이라는 새 GameObject를 생성합니다.- 생성된 GameObject에
ToggleGroup
컴포넌트를 추가합니다. - 각 Toggle의
Group
필드에 이ToggleGroup
컴포넌트를 드래그합니다.
이렇게 설정하면 해당 그룹의 Toggle 중 하나만이 활성화될 수 있으며, 다른 하나를 선택하면 자동으로 이전에 선택된 Toggle은 비활성화됩니다.
'프로그래밍' 카테고리의 다른 글
C#에서 언더스코어(\_)의 다양한 용도 (0) | 2024.05.09 |
---|---|
Microsoft Store 제거/설치 (0) | 2023.04.16 |