메인 콘텐츠로 이동
Massively Fun 기발하고 즐거운 게임을 만드는 소규모 인디 스튜디오입니다. 게임 제작의 모든 과정을 투명하게 공유합니다.

이 사이트의 일부 링크는 제휴 링크입니다. 해당 링크를 통해 구매하실 경우 추가 비용 없이 소정의 수수료를 받을 수 있으며, 이는 추천 내용에 영향을 주지 않습니다. 자세한 내용은 제휴 공개 정책을 확인하세요. 제휴 마케팅 공개.

터치 이벤트

터치 이벤트

많은 모바일 기기에서 작동하는 터치 인식 앱을 작성할 수 있습니다. 터치 인식 데스크톱 브라우저도 곧 출시될 예정이니 지금부터 대비하세요.

최초로 iOS 2.0 용 모바일 Safari 에 등장했습니다.

네 가지 기본 이벤트:

  • touchstart
  • touchmove
  • touchend
  • touchcancel

이벤트 객체 필드:

  • touches
  • targetTouches
  • changedTouches
  • 수정 키 (shift, alt, ctrl, meta)

터치 객체 필드:

  • identifier
  • clientX/Y
  • pageX/Y
  • screenX/Y

현재 W3C 작업 초안 (Working Draft) 상태입니다.

관련 항목: — Unity 프로젝트에 바로 적용할 수 있는 기성 아트, 도구 및 템플릿.

벤더 간에 여전히 많은 차이점이 존재합니다:

  • touchenter / touchleave (Firefox, Blackberry)
  • gesturestart / gesturechange / gestureend (모바일 Safari)
  • MSPointer* / MSGesture* (IE10)

네이티브와 유사한 동작

대체 입력 방식을 지원하는 기기들

  • 멀티터치: FF6+ 는 W3C 스타일 터치 이벤트를 지원합니다.
  • IE10 은 MSPointer* / MSGesture* 를 지원합니다.
  • WebKit 에서는 아직 지원되지 않습니다.

표준 제스처 처리 비활성화 (팬/줌/스크롤)

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

그리고

우리의 선택: — Unity, Unreal, C++, C# 및 셰이더 프로그래밍을 다루는 주문형 과정.

document.body.addEventListener('touchmove', function(event) {
  event.preventDefault();
}, false);

표준 제스처 처리 비활성화 (팬/줌/스크롤)

루프 내에서 렌더링 처리:

var touches = [], // 여기에서 requestAnimationFrame() 을 사용할 수도 있습니다.
renderLoop = setInterval(function() {
  draw(touches); // 그리기 함수 호출
}, 15);

myElement.addEventListener('touchmove', function(e) {
  touches = e.touches;
}, false);

표준 제스처 처리 비활성화 (팬/줌/스크롤)

  • 루프 내에서 렌더링 처리
  • 단일 터치 기기 지원 (예: Android 폰)

표준 제스처 처리 비활성화 (팬/줌/스크롤)

  • 루프 내에서 렌더링 처리
  • 단일 터치 기기 지원 (예: Android 폰)
  • 마우스 이벤트 처리 대상:
    • 물리적 포인터 하드웨어가 있는 폰 (예: 많은 Android 핸드셋)
    • 터치 이벤트가 없는 폰 (예: Windows Phone 7)
    • 터치를 지원하지 않는 데스크톱 브라우저 (예: Chrome)

표준 제스처 처리 비활성화 (팬/줌/스크롤)

  • 루프 내에서 렌더링 처리
  • 단일 터치 기기 지원 (예: Android 폰)
  • 마우스 이벤트 처리
  • 터치를 지원하는 데스크톱 브라우저 지원:
    • Firefox (W3C 스타일 터치 이벤트)
    • IE10 (MSPointer*)

@ @ggoodale


브라우저에서 HTML5 게임 빌드

웹, 모바일 및 데스크탑으로 내보내는 브라우저 기반의 코드 없는 HTML5 엔진