Unity UI 툴킷: 전환 이벤트 가이드
개요
Unity의 UI 툴킷은 UI 요소의 스타일이 변경될 때 발생하는 다양한 전환 이벤트를 지원합니다. 이 문서에서는 전환 이벤트의 수명 주기와 활용 방법에 대해 설명합니다.
전환 이벤트란?
전환 이벤트는 UI 요소의 스타일 프로퍼티가 수정될 때 발생하며, 이 과정을 시각적으로 부드럽게 전환해 줍니다.
전환의 수명 주기
전환 과정은 다음 단계로 이루어져 있습니다: 1. 속성 변경: C# 메서드를 사용해 UI 요소의 프로퍼티가 수정됩니다. - 예시: element.ToggleInClassList()
- 예시: element.style.backgroundColor = Color.red;
- TransitionRunEvent 전송: 프로퍼티가 수정된 후 이 이벤트가 발생합니다.
- 지연 시간:
transition-delay
값이 0이 아닐 경우, 이 기간 동안 아무 변화가 없습니다. - TransitionStartEvent 전송: 지연 후 초기 값으로 전환이 시작됩니다.
- Transition 중단: 전환 과정에서 프로퍼티가 변경되면
TransitionCancelEvent
가 발생합니다. - TransitionEndEvent 전송: 전환이 완료될 때 발생합니다.
전환 이벤트 레퍼런스 표
이벤트 | 설명 | 트리클다운 | 버블업 | 취소 가능 |
---|---|---|---|---|
TransitionRunEvent | 전환이 생성될 때 전송됩니다. | 지원 | 지원 | 지원 |
TransitionStartEvent | 전환의 지연 단계가 끝나고 시작될 때 전송됩니다. | 지원 | 지원 | 지원 |
TransitionEndEvent | 전환이 끝날 때 전송됩니다. | 지원 | 지원 | 지원 |
TransitionCancelEvent | 전환이 취소될 때 전송됩니다. | 지원 | 지원 |
전환 이벤트 세부 사항
이벤트 | target | stylePropertyNames | elapsedTime |
---|---|---|---|
TransitionRunEvent | 전환을 실행하는 요소입니다. | 전환에 의해 수정되는 프로퍼티 리스트입니다. | 전환이 시작된 이후의 시간입니다. |
TransitionStartEvent | 전환을 실행하는 요소입니다. | 전환에 의해 수정되는 프로퍼티 리스트입니다. | 전환이 시작된 이후의 시간입니다. |
TransitionEndEvent | 전환을 실행하는 요소입니다. | 전환에 의해 수정되는 프로퍼티 리스트입니다. | 전환이 시작된 이후의 시간입니다. |
TransitionCancelEvent | 전환을 실행하는 요소입니다. | 전환에 의해 수정되는 프로퍼티 리스트입니다. | 전환이 시작된 이후의 시간입니다. |
전환 이벤트 활용 예제
1. 전환 이벤트 만들기
// 전환 이벤트의 기본 사용 예
void ChangeColor(VisualElement element) {
element.style.backgroundColor = Color.blue;
}
2. 루핑 전환 만들기
// TransitionEndEvent를 사용하여 루핑 전환
void LoopTransition(VisualElement element) {
element.RegisterCallback<TransitionEndEvent>(evt => ChangeColor(element));
}
3. 커스텀 에디터 창에서 전환 만들기
// UI 빌더와 C# 스크립트를 통한 전환 만들기
public class MyEditorWindow : EditorWindow {
[MenuItem("Window/MyEditor")]
public static void ShowWindow() {
var wnd = GetWindow<MyEditorWindow>();
wnd.titleContent = new GUIContent("My Editor");
}
}
추가 리소스
이 문서는 Unity의 전환 이벤트에 대한 기본적인 이해 및 활용 방법을 제공하였습니다. 다양한 예제를 통해 실제로 어떻게 사용하는지 확인해 보세요!