Unity 매뉴얼 - UI 요소와 UXML 속성
개요
Unity에서는 사용자 인터페이스(UI)를 생성하기 위해 UI 툴킷을 사용합니다. UXML 요소와 관련된 클래스 및 속성에 대해 설명합니다.
주요 클래스: BindableElement
- 네임스페이스:
UnityEngine.UIElements
- 기본 클래스:
VisualElement
UXML 요소 속성
속성 이름 | 타입 | 설명 |
---|---|---|
binding-path | string | 바인드될 타겟 프로퍼티의 경로입니다. |
focusable | boolean | 요소에 포커스를 맞출 수 있으면 true입니다. |
tabindex | int | 포커스 링에서 포커스를 정렬하는 데 사용되는 정수입니다. |
content-container | string | 자식 요소가 추가되는 컨테이너로, 일반적으로 요소 자체와 동일합니다. |
name | string | VisualElement의 이름으로, 특정 요소를 타게팅하기 위한 USS 선택자 작성에 사용됩니다. |
picking-mode | UIElements.PickingMode | 요소를 선택할 수 있는지를 결정합니다. |
style | string | 요소의 스타일 오브젝트에 대한 레퍼런스입니다. |
tooltip | string | 사용자가 마우스를 요소 위에 잠시 놓았을 때 표시할 텍스트입니다. |
usage-hints | UIElements.UsageHints | VisualElement에 대한 사용 패턴을 지정하는 힌트 값입니다. |
view-data-key | string | 보기 데이터의 지속성에 사용되는 키입니다. |
USS 클래스
아래 표는 모든 C# 공용 프로퍼티 이름과 관련된 USS 선택자의 리스트입니다.
C# 프로퍼티 이름 | USS 선택자 | 설명 |
---|---|---|
disabled | UssClassName.unity-disabled | 비활성화된 로컬 요소의 USS 클래스명입니다. |
활용 및 응용 예제
간단한 UI 요소 만들기
using UnityEngine;
using UnityEngine.UIElements;
public class SimpleUI : MonoBehaviour
{
// 시작할 때 UI 요소를 생성합니다.
void Start()
{
// UI 요소를 생성하고 속성을 설정합니다.
var button = new Button() { text = "클릭하세요" };
button.clicked += () => Debug.Log("버튼 클릭됨!");
// UI를 루트 요소에 추가합니다.
var root = GetComponent<UIDocument>().rootVisualElement;
root.Add(button);
}
}
바인딩 속성을 사용한 UI 요소
using UnityEngine;
using UnityEngine.UIElements;
public class BindableUI : MonoBehaviour
{
// 데이터를 바인딩 할 때 사용합니다.
void Start()
{
var label = new Label { bindingPath = "playerName" };
var root = GetComponent<UIDocument>().rootVisualElement;
root.Add(label);
}
}
툴팁 추가하기
using UnityEngine;
using UnityEngine.UIElements;
public class TooltipExample : MonoBehaviour
{
void Start()
{
var button = new Button() { text = "마우스를 올려보세요!" };
button.tooltip = "이 버튼을 클릭하여 작업을 수행하세요.";
var root = GetComponent<UIDocument>().rootVisualElement;
root.Add(button);
}
}
이와 같은 예제들을 통해 Unity UI 툴킷을 활용하여 더욱 풍부하고 상호작용적인 사용자 인터페이스를 만들 수 있습니다. 각 속성과 클래스의 기능을 잘 이해하고 활용하여 효율적인 UI 개발이 가능합니다.