본문 바로가기

Unity3d

유니티의 이벤트 시스템 활용하기

안녕하세요, GameLabMaster입니다. 오늘은 유니티에서 이벤트 시스템을 활용하는 방법에 대해 알아보겠습니다.

이벤트 시스템(Event System)은 유니티에서 다양한 상호작용을 처리하기 위한 시스템으로, UI 이벤트, 마우스 클릭, 터치 이벤트 등 다양한 입력을 처리할 수 있습니다.

이벤트 시스템 구성 요소

  • EventSystem: 이벤트를 관리하고 처리하는 중심 컴포넌트입니다. 하나의 씬에 오직 하나의 EventSystem 컴포넌트만 존재해야 합니다.
  • StandaloneInputModule: 마우스와 키보드 입력을 처리하는 컴포넌트입니다.
  • TouchInputModule: 터치 입력을 처리하는 컴포넌트입니다. 모바일 환경에서 사용됩니다.

이벤트 리스너 생성

유니티 이벤트 시스템을 사용하려면 이벤트 리스너(Event Listener)를 생성해야 합니다. 이벤트 리스너는 특정 이벤트에 반응하여 원하는 동작을 수행하는 스크립트입니다.

 

  • C# 스크립트에서 이벤트 리스너 생성
  • 이벤트에 대한 인터페이스를 상속받아 구현

예시: 버튼 클릭 이벤트를 처리하는 스크립트

 

using UnityEngine;
using UnityEngine.EventSystems;

public class ButtonClickListener : MonoBehaviour, IPointerClickHandler
{
    public void OnPointerClick(PointerEventData eventData)
    {
        Debug.Log("Button clicked!");
    }
}

이벤트 시스템을 활용한 상호작용 예제

  • UI 버튼 클릭 이벤트 처리하기
  • 드래그 앤 드롭 구현하기
  • 마우스 호버 이벤트 처리하기

이벤트 시스템을 이해하고 활용하면, 유니티에서 다양한 상호작용을 구현할 수 있습니다. 앞으로 프로젝트에서 이벤트 시스템을 활용하여 사용자와 상호작용하는 게임을 만들어보세요.