Unity 매뉴얼: UI 요소 - MaskField
Unity의 UI Toolkit에서 MaskField
는 UI 요소 중 하나로, 사용자 입력을 관리하는 데 사용되는 구성 요소입니다. 이 문서에서는 MaskField
의 속성과 사용법을 한국어로 설명하고 몇 가지 예제를 추가하겠습니다.
MaskField 개요
MaskField
는 비밀번호와 같이 사용자에게 입력되는 값을 숨길 수 있는 입력 필드입니다. 주로 비밀번호 입력 시 사용됩니다.
주요 속성
속성명 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
choices | string | 팝업 메뉴에 표시될 선택 항목 리스트입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
label | string | 필드 옆에 표시될 레이블을 나타내는 문자열입니다. |
tabindex | int | 포커스 링에서 포커스를 맞출 수 있는 항목을 정렬하는 정수입니다. |
value | int | 필드와 연결된 값입니다. |
content-container | string | 자식 요소가 추가되며, 일반적으로 요소 자체와 동일합니다. |
names | string | VisualElement의 이름입니다. |
picking-mode | UIElements.PickingMode | 요소를 선택할 수 있는지를 결정합니다. |
styles | string | 이 요소의 스타일 오브젝트에 대한 레퍼런스입니다. |
tooltip | string | 마우스를 요소 위에 재빨리 올렸을 때 보여줄 텍스트입니다. |
usage-hints | UIElements.UsageHints | VisualElement의 고수준 사용 패턴을 지정합니다. |
view-data-key | string | 보기 데이터 지속성을 위한 키입니다. |
C# 클래스 및 USS 클래스
MaskField
의 관련 C# 상속 및 USS 선택자 표는 아래와 같습니다.
C# 프로퍼티 | USS 선택자 | 설명 |
---|---|---|
ussClassName | .unity-mask-field | 타입 요소의 USS 클래스명 |
.label | .unity-mask-field__label | 레이블의 USS 클래스명 |
.input | .unity-mask-field__input | 입력 요소의 USS 클래스명 |
활용 예제
1. 기본 MaskField 생성
아래 코드는 MaskField
를 생성하고 UI에 추가하는 간단한 예제입니다.
using UnityEngine;
using UnityEngine.UIElements;
public class MaskFieldExample : MonoBehaviour
{
void Start()
{
var root = GetComponent<UIDocument>().rootVisualElement;
// MaskField 생성
var maskField = new MaskField("Password")
{
label = "Enter Password"
};
root.Add(maskField);
}
}
2. MaskField의 값 가져오기
사용자가 입력한 값을 가져오는 방법은 아래와 같습니다.
using UnityEngine;
using UnityEngine.UIElements;
public class MaskFieldValueExample : MonoBehaviour
{
void Start()
{
var root = GetComponent<UIDocument>().rootVisualElement;
// MaskField 생성
var maskField = new MaskField("Password")
{
label = "Enter Password"
};
root.Add(maskField);
// 이벤트 등록 - 값 변화 감지
maskField.RegisterValueChangedCallback(evt =>
{
Debug.Log("Input Value: " + evt.newValue);
});
}
}
결론
MaskField
는 Unity의 UI 시스템에서 비밀번호와 같은 민감한 정보를 처리할 때 유용한 도구입니다. 위에서 설명한 속성과 예제를 바탕으로 다양한 UI 요소와 함께 활용하여 사용자 경험을 향상시킬 수 있습니다.