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 핸들러 이벤트가 작동할 수 있다.
'게임개발 > 유니티 엔진' 카테고리의 다른 글
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 |