Today I Learn

25/04/04 | TIL UI에 마우스 포인터시, 인풋처리

오늘도즐겨 2025. 4. 5. 01:52

기존 InputSystem을 활용하면서, UI에 마우스를 올렸을때

게임에서 설정된 총알을 발사하는 이벤트들이 발동되는 경우 들이 종종있었다.

이것을 어떻게 해결할까 고민 하면서,

실제 팀프로젝트에서는 패널을 불투명하게 만들고,

게임화면을 가려버리는 짓을 했다.

 

새로 지급되었던 강의에서 EventSystem의 기본 메서드중에 아주 활용 하기 좋은 메서드를 발견했다!

 if(EventSystem.current.IsPointerOverGameObject())

    return;

 

WOW이게 모야..

신세계잖어?ㅎㅎㅎㅎ너무 편한 메서드이다

자주 사용 할 것 같으니 기억해놓자!

 

void OnFire(InputValue inputValue)
{
    if(EventSystem.current.IsPointerOverGameObject())
        return; 
    //UI에 마우스가 올라가 있을때, 발사 하지 않게 리턴 해주는 메서드
    isAttacking = inputValue.isPressed;
}