유니티 공식 문서
if(Input.GetMouseButtonDown(0) && !EventSystem.current.IsPointerOverGameObject())
{
SceneManager.LoadScene("Game");
}
* GetMouseButtonDown은 터치 이벤트도 함께 감지할 수 있다
EventSystem의 IsPointerOverGameObject()함수는 포인터가 eventSystem 오브젝트 위에 있는지 여부를 판단해 true, false를 반환함
기본적으로 해당 함수는 마우스 왼쪽 클릭(-1)을 인자로 가지고 있다
터치 이벤트를 감지해야 하는 경우, 매개 변수를 따로 전달해주어야 하기에 Input.GetTouch(0).fingerId 값을 전달해주면 된다
터치 이벤트를 감지해야 할 경우, 공식 문서 상 예시 코드는 아래와 같다
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
if(EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
{
Debug.Log("Touched the UI");
}
}
'Programing > Unity(C#)' 카테고리의 다른 글
[Unity] UI 클릭 제외하기 (0) | 2024.01.13 |
---|---|
[Unity] 스크롤뷰 만들기 (0) | 2024.01.09 |
[Unity] getter, setter 메서드 (0) | 2024.01.05 |
[Coding] 싱글톤 패턴 구현 방법(2가지) (0) | 2024.01.03 |
[Unity] 버튼 클릭해서 씬(Scene) 전환하기 (0) | 2024.01.03 |