Unity 사용자 매뉴얼 - 키보드 이벤트
이 문서는 Unity의 UI Toolkit에서 키보드 이벤트를 이해하고 활용하는 방법에 대해 설명합니다. Unity의 키보드 이벤트를 사용하여 사용자 인터페이스(UI)와 상호작용할 수 있습니다.
키보드 이벤트란?
키보드 이벤트는 사용자가 키보드의 키를 눌렀을 때 또는 놓았을 때 발생합니다. 이러한 이벤트는 UI에서 특정 행동을 트리거하는 데 사용됩니다. Unity의 UI Toolkit에서는 다양한 클래스들이 이 이벤트를 사용하여 작동하게 됩니다.
주요 이벤트
이벤트 이름 | 설명 | 지원 들어갈 배열 |
---|---|---|
KeyDownEvent | 사용자가 키보드 키를 누를 때 발생 | 지원 |
KeyUpEvent | 사용자가 키보드 키를 놓을 때 발생 | 지원 |
속성 설명
각 이벤트는 여러 속성을 가지고 있으며, 아래와 같은 정보를 포함합니다.
속성 | 설명 |
---|---|
keyCode | 눌린 물리적 키에 대한 코드 |
character | 입력된 문자 코드 |
modifiers | 눌리고 있는 수정 키(Shift, Ctrl, Alt 등) |
사용 예제
아래 예시는 TextField에서 키를 누를 경우 콘솔에 메시지를 출력하는 방법을 보여줍니다. 이 코드는 KeyDownEvent 및 KeyUpEvent의 호출을 강조합니다.
C# 코드 예제
using UnityEngine;
using UnityEngine.UIElements;
[RequireComponent(typeof(UIDocument))]
public class KeyboardEventTest : MonoBehaviour
{
void OnEnable()
{
var root = GetComponent<UIDocument>().rootVisualElement;
root.Add(new Label("Press any key to see the keyDown properties"));
root.Add(new TextField());
root.Q<TextField>().Focus();
root.RegisterCallback<KeyDownEvent>(OnKeyDown, TrickleDown.TrickleDown);
root.RegisterCallback<KeyUpEvent>(OnKeyUp, TrickleDown.TrickleDown);
}
void OnKeyDown(KeyDownEvent ev)
{
Debug.Log("KeyDown:" + ev.keyCode);
Debug.Log("KeyDown:" + ev.character);
Debug.Log("KeyDown:" + ev.modifiers);
}
void OnKeyUp(KeyUpEvent ev)
{
Debug.Log("KeyUp:" + ev.keyCode);
Debug.Log("KeyUp:" + ev.character);
Debug.Log("KeyUp:" + ev.modifiers);
}
}
사용 방법
- Unity 프로젝트에서 임의의 템플릿을 사용하여 생성한 후
SampleScene
에서GameObject > UI Toolkit > UI Document
를 선택합니다. KeyboardEventTest.cs
라는 이름의 C# 스크립트를 작성한 후 위 코드를 포함합니다.- Hierarchy 창에서 UIDocument 게임 오브젝트를 선택하고, 인스펙터 창에서
Add Component
를 통해KeyboardEventTest.cs
를 드래그하여 추가합니다. - 플레이 모드를 시작하고 TextField에 키보드 입력을 해보세요. 입력한 키에 대한 정보가 콘솔에 출력됩니다.
추가 리소스
이 문서를 통해 Unity의 키보드 이벤트를 이해하고 활용하는 데 도움이 되길 바랍니다.