유니티 버튼 누르자마자 동작하기 (EventTrigger 스크립트 연결)

2024. 6. 17. 23:51·Unity

1. 발생 문제

유니티에서 UI Button은 클릭 후 마우스를 때야지만 동작하게 되어있습니다.

 

이는 위와 같이 버튼을 누르자마자 플레이어가 점프를 해야하는 게임에서는 치명적일 수 있습니다.

 

2. 해결 방안

- 해결 방법은 크게 2가지가 있습니다.

1. IPointerClickHandler, IPointerDownHandler, IPointerUpHandler 등의 포인터 입력을 감지하는 인터페이스를 활용한다.

2. EventTrigger를 사용하여 포인터 입력에 따라 함수를 호출한다.

 

저는 2번 방법 EventTrriger를 사용하여 포인터 입력을 감지한 뒤 점프 함수를 호출해서 문제를 해결해 보겠습니다.

 

 

- 해결 방법은 아래와 같습니다.

1. EventTrigger 컴포넌트를 선언 후 인터페이스에서 EventTrigger 컴포넌트 연결

2. EventTrriger.Entry 객체인 jumpEventEntry를 생성

3. jumpEventEntry.evnetID = EventTriggerType.PointerEnter로 지정 (눌렀을 때 바로 동작하는 타입)

4. jumpEventEntry.callback.AddListener((data) => _playerController.Jump()), 버튼이 눌렸을 때 플레이어가 점프하는 함수를 호출하도록 람다식으로 연결

5. _jumpButton_EventTrigger.triggers.Add(jumpEventEntry), 점프버튼 이벤트 트리거 컴포넌트의 triggers목록에 

만들어둔 jumpEventEntry를 추가해줌.

 

 

3. 마무리

 

이제 버튼을 누르자마자 플레이어가 바로 점프하는 것을 확인할 수 있습니다.

'Unity' 카테고리의 다른 글

[유니티] InputSystem이 동작안하는 오류  (0) 2024.07.14
[유니티] You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.  (0) 2024.07.14
유니티 여러곳에서 참조되는 데이터 관리  (0) 2024.05.23
Debug 최적화  (0) 2024.05.20
유니티 2단점프 구현  (0) 2024.05.12
'Unity' 카테고리의 다른 글
  • [유니티] InputSystem이 동작안하는 오류
  • [유니티] You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.
  • 유니티 여러곳에서 참조되는 데이터 관리
  • Debug 최적화
하길
하길
게임 개발을 위한 나의 모든 지식의 총 집합체
  • 하길
    Until Dawn
    하길
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (140)
      • Unreal Engine 5 (0)
      • Unity (41)
        • 3D (5)
        • 2D (7)
      • C++ (13)
      • C# (11)
      • 알고리즘 (35)
      • TIL (22)
      • 기타 (1)
      • 대장간 (12)
      • 메모 (2)
      • 게임리뷰 (0)
      • 일상 (0)
        • 챌린지 (0)
      • Article (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
하길
유니티 버튼 누르자마자 동작하기 (EventTrigger 스크립트 연결)
상단으로

티스토리툴바