Unity/엔진프로그래밍

0413_ Button 누르고 있을 때 슬라이드, 떼었을 때

minquu 2021. 4. 13. 13:19
반응형

 

 

문제점

 

기존 코드는 스페이스 키를 누르면 작동하게 만들었다.

하지만, 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)

 

 

반응형