유니티 버전 - 2022.3.17f1
목차
- IsPointerOverGameObject()
- 사용 예시
- 주의할 점
IsPointerOverGameObject()
마우스 입력을 받았을때 게임 오브젝트or씬 위에서 클릭이 일어났는지 UI위에서 클릭이 일어났는지 반환해주는 메서드입니다, 이를 이용하여 마우스 클릭으로 특정동작을 수행해야할 때 UI를 클릭했다면 동작을 수행하지 못하도록 할 수 있습니다
사용 예시
if (p_context.phase == InputActionPhase.Performed)
{
if (InGame.isUIOpened) return;
if (EventSystem.current.IsPointerOverGameObject()) return;
// 수행 할 코드
해당 메서드는 좌클릭시 슬롯의 아이템의 종류에 따라 특정 기능을 수행하도록 되어있습니다
마지막 if문을 보면, 만약 클릭이 UI 위에서 일어났다면 아이템을 사용하지 못하도록 하는 경우입니다
주의할 점
1. EventSystem 컴포넌트가 있어야 동작합니다
2. UI 캔버스의 GraphicRaycaster 컴포넌트가 활성화 되어야합니다
'코드 및 공부 > 입력 관리' 카테고리의 다른 글
유니티 유용한 단축키 3가지 (0) | 2025.01.14 |
---|---|
Dotween의 OnComplete()를 여러개 사용할때 작동하지 않는 문제 (0) | 2025.01.02 |
Input System을 이용한 움직임 구현 (9) | 2024.10.08 |
Input Manger와 Input System (0) | 2024.10.07 |