본문 바로가기
게임개발/유니티 엔진

UI 이벤트 시스템

by do_ng 2024. 3. 4.

 

UI를 마우스로 클릭하거나 UI위에 마우스 커서를 올리는 등... 이러한 행동을 했을 때 이벤트가 발생하는 이유는 이벤트 시스템이라는 곳에서 처리를 하기 때문이다. UI를 생성하면 이벤트 시스템이 같이 생성된다. 

 

IPointer Event 핸들러가 작동하지 않는 이유?

public class UI_EventHandler : MonoBehaviour, IPointerClickHandler
{
    public Action<PointerEventData> OnClickHandler = null;    
    
    public void OnPointerClick(PointerEventData eventData)
    {        
        if (OnClickHandler != null)
            OnClickHandler.Invoke(eventData); // 등록된 이벤트 핸들러 호출
    }

}

 

다음은 Image UI를 마우스로 클릭했을 때 클릭 이벤트가 작동하도록 구현하려면 "Graphic RayCaster" 추가되어 있어야지 IPointer 핸들러 이벤트가 작동할 수 있다.  

 


참고 : https://maintaining.tistory.com/entry/Unity-IPointer-Interface-%ED%81%B4%EB%A6%AD-%ED%84%B0%EC%B9%98-%EC%9D%B4%EB%B2%A4%ED%8A%B8

'게임개발 > 유니티 엔진' 카테고리의 다른 글

Coroutine(코루틴)  (0) 2024.03.07
오브젝트 풀링(Object Pooling)  (0) 2024.03.06
UI 자동화  (0) 2024.03.03
UI 앵커 사용법  (0) 2024.02.27
애니메이션 State 패턴 적용  (0) 2024.02.26