[TypeScript] 제스처로 대화하기. #4 - 더블 탭 편

고라니드로고라니드로
1 min read

더블 탭짧은 시간 내에 탭을 두 번 시행하는 것을 말합니다. 따라서 이전 편에서 다뤘던 탭 감지의 구현을 활용할 수 있습니다. 구현 함수는 아래와 같이 정의할 수 있습니다.

function onTap(callback: (e: TapEvent) => void);

TapEvent는 가상의 유형으로, 내부적으로 필요한 정보를 넘겨주어야 합니다. 이를 활용하여 더블 탭을 감지할 수 있습니다.

let count = 0;

onTap(e => {
    if(++count < 2) { return; }

    // ...
});

제한 요소

탭을 감지할 때는 지연 시간과 범위를 제한했습니다. 더블 탭에서도 필요한 경우 비슷한 방법으로 해결할 수 있습니다.

if(count < 1 || currDelay > maxDelay || currDistance > maxDistance) { count = 0; }

// ...

주의할 점은 조건에 위배된 경우에 count를 0으로 초기화할 뿐, 곧바로 반환하지 않는다는 점입니다. 이때에도 여전히 탭 횟수가 누적되어야 하기 때문입니다.

시리즈는 다음 편에서 계속됩니다. 읽어주셔서 감사합니다!

묻고 답하기

개인적인 판단에 의해 적절하다고 여겨지는 경우, 모두가 볼 수 있도록 이곳에 문답이 추가됩니다. 그렇지 않더라도 질문에 대한 답변은 별도로 이루어집니다.

0
Subscribe to my newsletter

Read articles from 고라니드로 directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

고라니드로
고라니드로