본문 바로가기

내일배움캠프/[P8-Solo.] Clicker?Clicker!

[TIL 24.06.18] Unity로 Swipe 입력받기

.

 

목   차

     


    Swipe 입력받기

    처음에는 하나의 액션만으로 Start와 Perform, Cancel을 이용해 시작점과 끝점을 받아온 후 그 차이를 통해 Swipe를 구현하려 했으나, GPT를 통해 찾은 방법으로는 도저히 Cancel 지점, 즉 사용자가 마우스클릭을 떼는 순간을 입력받아오지 못해서 Hold와 Vector2-MousePos를 통해 연계하여 Hold의 Start와 Cancel 이벤트 발생시 그 때의 Mouse Pos값을 받아왔다.

     

    그 후, 두 지점 사이의 거리가 MinSwipeDistance보다 커야만 우선적으로 Swipe임을 감지하고, 한번이라도 4방 중 하나의 거리가 MinSwipeDistance보다 커진 적이 있다면 Swipe 타입은 우선 그 타입으로 락온시켰다. 

    이 MinSwipeDistance보다 작은 값이 움직였다면 그건 입력에서 사용자의 실수로 간주한다.

     

    이 이후 다른 방향으로 다시 한 번 MinSwipeDistance가 현재 방향이 아닌 다른 어떤 방향으로 시작지점으로부터 거리 차이가 생긴다면 지그재그 등을 입력한 것으로 간주하고 Swipe입력을 무효처리하게 했다.