버전: 2023.2+
이 예제에서는 두 가지 속성을 가진 간단한 커스텀 컨트롤을 만드는 방법을 보여 줍니다.
이 예시에서는 두 가지 속성이 있는 MyElement라는 커스텀 컨트롤을 생성하여 UXML 및__ UI__(사용자 인터페이스) 사용자가 애플리케이션과 상호 작용하도록 해 줍니다. Unity는 현재 3개의 UI 시스템을 지원합니다. 자세한 정보
See in Glossary 빌더에 노출합니다. 이 예시에서는 UI 빌더에서 UI에 커스텀 컨트롤을 추가하는 방법도 보여 줍니다.
이 예시에서 만든 완성된 파일은 이 GitHub 저장소에서 찾을 수 있습니다.
이 가이드는 Unity, UI 툴킷, C# 스크립팅에 익숙한 개발자를 위한 가이드입니다. 시작하기 전에 먼저 다음을 숙지하십시오.
C#에서 새 커스텀 컨트롤 클래스를 생성하려면 VisualElement 클래스에서 상속합니다. 이렇게 하면 C#에서 이 요소를 생성하고 사용할 수 있지만, UXML 및 UI 빌더에서는 자동으로 노출되지 않습니다. 노출하려면 UxmlElement 속성을 추가합니다. 속성을 노출하려면 UXML과 UI 빌더에서 표시할 각 프로퍼티에 UxmlAttribute 속성을 추가합니다.
Assets 폴더에 다음 내용을 포함하는 MyElement.cs라는 C# 스크립트를 생성합니다.using UnityEngine;
using UnityEngine.UIElements;
[UxmlElement]
partial class MyElement : VisualElement
{
string _myString = "default_value";
int _myInt = 2;
[UxmlAttribute]
public string myString
{
get => _myString;
set
{
_myString = value;
Debug.Log($"myString set to: {_myString}");
// React here, e.g. update UI
}
}
[UxmlAttribute]
public int myInt
{
get => _myInt;
set
{
_myInt = value;
Debug.Log($"myInt set to: {_myInt}");
// React here, e.g. update UI
}
}
}