[javascript] Hammer.js의 멀티터치 제스처 인식 기능에 대해 알아보자.
Hammer.js는 JavaScript 라이브러리로, 다양한 터치 제스처 인식 기능을 제공합니다. 그 중에서도 멀티터치 제스처 인식 기능에 대해 알아보겠습니다.
멀티터치 제스처란?
멀티터치 제스처는 두 개 이상의 손가락을 사용하여 화면을 동시에 터치하거나 움직이는 제스처를 말합니다. 대표적인 멀티터치 제스처에는 핀치(pinching), 회전(rotating), 드래그 등이 있습니다.
Hammer.js에서의 멀티터치 제스처 인식
Hammer.js는 Hammer.Manager()
객체를 사용하여 멀티터치 제스처를 인식하고 처리할 수 있습니다. 이 객체를 생성한 후에 add()
메서드를 사용하여 인식할 제스처를 등록합니다.
var element = document.getElementById("myElement");
var manager = new Hammer.Manager(element);
// 핀치 제스처 등록
manager.add(new Hammer.Pinch());
// 회전 제스처 등록
manager.add(new Hammer.Rotate());
// 드래그 제스처 등록
manager.add(new Hammer.Pan());
위의 예시 코드에서는 myElement
라는 ID를 가진 HTML 요소를 대상으로 멀티터치 제스처를 인식하고 있습니다. 핀치 제스처, 회전 제스처, 드래그 제스처를 등록하여 해당 제스처가 발생하면 처리할 수 있습니다.
멀티터치 제스처 이벤트 핸들링
멀티터치 제스처가 인식되면, manager
객체에 이벤트 핸들러를 등록하여 해당 제스처에 대한 동작 코드를 작성할 수 있습니다.
manager.on("pinch", function(event) {
console.log("핀치 제스처 인식!");
console.log("Scale: " + event.scale);
});
manager.on("rotate", function(event) {
console.log("회전 제스처 인식!");
console.log("Rotation: " + event.rotation);
});
manager.on("pan", function(event) {
console.log("드래그 제스처 인식!");
console.log("Translate: " + event.deltaX + ", " + event.deltaY);
});
위의 예시 코드에서는 핀치 제스처, 회전 제스처, 드래그 제스처 각각에 대한 이벤트 핸들러를 등록하고 있습니다. 각 제스처 이벤트가 발생하면 콘솔에 해당 제스처의 정보를 출력하는 코드를 작성하였습니다.
결론
Hammer.js의 멀티터치 제스처 인식 기능을 사용하면 웹 애플리케이션에서 다양한 멀티터치 제스처를 간편하게 인식하고 처리할 수 있습니다. 멀티터치 제스처를 활용하여 더 풍부한 사용자 인터랙션을 구현해보세요.