반응형
문제점
기존 코드는 스페이스 키를 누르면 작동하게 만들었다.
하지만, UI에 버튼을 사용하면 이 코드는 쓸 수가 없다.
onClick.AddListener 를 쓰려고하면 Update에 넣으면 계속 증가하면서 값이 너무 커지고, 제대로 작동을 하지 않는다.
해결 방법
슬라이드 버튼에 Event Trigger 컴포넌트 넣어서 해결을 하였다.
슬라이드 버튼에 포인터 UP / Down // 눌렀을때 떼었을때, 이벤트를 넣어주고
플레이어(PlayerController가 있는곳 )를 저기에 넣어준다. (★그러면 저 안에있는 스크립터 접근이 가능해진다.)
public void OnPointerDown() {
this.isSlide = true;
this.animator.SetBool("Slide", this.isSlide);
Debug.Log("버튼이 눌리고있습니다.");
}
public void OnPointerUp() {
this.isSlide = false;
this.animator.SetBool("Slide", this.isSlide);
}
스크립터에 이 코드를 넣고,
이벤트 트리거에서
저 메서드를 선택해주면, 버튼 클릭시, 저 메서드를 소환되는 식으로 해결을 하였다.
------
참조 링크
[Unity 3D] 이벤트 트리거 (Event Trigger) :: [다루] 기초부터 한걸음씩 (tistory.com)
반응형
'Unity > 엔진프로그래밍' 카테고리의 다른 글
0415_좀비슈터 단계별 테스트 _ LineRenderer (0) | 2021.04.15 |
---|---|
0415_좀비슈터 단계별 테스트 _ 자동발사 (0) | 2021.04.15 |
0415_좀비슈터 단계별 테스트 _ IK 사용하여 총에 손 달기 (0) | 2021.04.15 |
0415_좀비슈터 단계별 테스트 _ RayCast 사용 (0) | 2021.04.14 |
0409 _ 레트로의 유니티 게임 예제 (0) | 2021.04.09 |