Unity 매뉴얼 스크립팅 API 해설
이번 문서는 Unity의 매뉴얼 스크립팅 API에 대해 설명하고, UI 툴킷에서 이벤트를 어떻게 사용할 수 있는지에 대한 예제를 제공합니다.
입력 이벤트 (InputEvent)
InputEvent는 사용자가 텍스트 필드에 텍스트를 입력할 때 발생합니다. 이 이벤트는 터치스크린의 포커스가 변경될 때도 업데이트됩니다. 즉, 사용자가 입력 필드를 클릭하거나 탭할 때 발생합니다.
주요 사항:
- 기본 키보드 입력 시, 각 키 입력에 대해 새로운
InputEvent
가 발생합니다. - 자동화된 스크립트 같은 간접적인 소스에서 텍스트 필드가 채워지면
InputEvent
는 발생하지 않습니다.
이벤트 설명
이벤트 이름 | 설명 | 클릭 가능한 | 트리클다운 | 버블업 | 취소 가능 |
---|---|---|---|---|---|
InputEvent | 데이터가 시각적 요소에 입력될 때 전송됩니다. | Yes | Yes | Yes | Yes |
고유한 프로퍼티
프로퍼티 이름 | 설명 |
---|---|
previousData | 이전 데이터입니다. |
newData | 새로운 데이터입니다. |
이벤트 리스트
InputEvent
- 설명: 이 이벤트는
TextInputBaseField
를 구현하는 시각적 요소에 데이터가 입력될 때 전송됩니다. - 특징: 컨트롤의 값이 변경되지 않았더라도 모든 제어 입력 이벤트 시 전송됩니다.
프로퍼티 이름 | 설명 |
---|---|
target | 입력이 발생한 요소입니다. |
포커스 이벤트 및 키보드 이벤트
포커스 이벤트는 입력 필드에 포커스가 이동할 때 발생하며, 키보드 이벤트는 키가 눌렸을 때 발생합니다. 이러한 이벤트를 통해 사용자와 인터랙션할 수 있는 다양한 방법을 구현할 수 있습니다.
활용 예제
이벤트를 사용하여 사용자 입력을 처리하는 간단한 예제를 구현해보겠습니다. 다음은 Unity C# 스크립트로 사용자가 입력 필드에 텍스트를 입력할 때 이벤트를 처리하는 예제입니다.
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class InputExample : MonoBehaviour, IPointerClickHandler
{
public InputField inputField;
public void OnPointerClick(PointerEventData eventData)
{
Debug.Log("Input field clicked!");
}
public void OnInputChanged(string newText)
{
Debug.Log($"New input: {newText}");
}
void Start()
{
inputField.onValueChanged.AddListener(OnInputChanged);
}
}
이 예제에서는 InputField를 클릭할 때 "Input field clicked!" 메시지를 출력하고, 사용자가 입력한 새로운 텍스트가 있을 때 해당 텍스트를 출력합니다.
결론
Unity의 InputEvent는 강력한 도구로, UI와 사용자 상호작용을 쉽게 처리할 수 있습니다. 이를 통해 사용자가 입력하는 방식에 대한 귀납적 이해를 높이고 더 나은 사용자 경험을 제공할 수 있습니다.