Oneshot Gems
지금 플레이

게임 개발자용

입력 세부 정보를 잃지 않고 하나의 포인터 모델 사용

마우스, 터치스크린, 펜을 지원하는 브라우저 게임은 Pointer Events를 공통 입력 모델로 사용할 수 있습니다. 이 추상화는 중복 이벤트 처리를 줄여 주지만 모든 기기가 똑같이 동작한다는 뜻은 아닙니다. 게임 메커니즘에 영향을 주는 기기별 차이를 정하고, 게임에 도움이 될 때만 이벤트의 pointerId와 유형을 사용하세요.

이 페이지의 내용

각 활성 포인터를 의도적으로 추적

간단한 드래그의 경우 pointerdown에서 pointerId를 저장하고 해당 포인터가 활성화된 동안에만 업데이트하세요. 포인터 캡처는 포인터가 경계를 넘어 이동할 때 이후의 이동 및 해제 이벤트를 게임 요소로 라우팅할 수 있습니다. pointerup 및 pointercancel를 별도의 엔딩으로 처리하고 두 경로 모두에서 상태를 제거하여 제스처 손실로 인해 게임이 중단되지 않도록 합니다.

디자인이 입력을 제한하지 않는 한 포인터가 하나만 있다고 가정하지 마십시오. 두 번째 손가락, 펜 또는 마우스는 또 다른 pointerId를 생성할 수 있습니다. 게임이 하나의 활성 드래그를 지원하는 경우 첫 번째 드래그를 덮어쓰도록 허용하는 대신 예상대로 추가 포인터를 무시합니다.

기기 유형이 중요한 경우 선택

PointerEvent는 터치, 펜, 마우스를 서로 다르게 처리해야 할 때 pointerType을 제공합니다. 예를 들어 그리기 메커니즘은 펜 압력을 활용할 수 있지만 메뉴 버튼은 기본 포인터 입력을 모두 받아야 합니다. 단순히 별도의 이벤트 체계를 다시 만들려고 기기 유형별로 코드를 분기하지 마세요. 플레이어 경험은 나아지지 않으면서 테스트할 경로만 늘어납니다.

브라우저는 포인터 입력 주위에 호환 마우스 이벤트를 발생시킬 수 있으므로 두 시스템을 통해 하나의 작업을 두 번 처리하지 마십시오. 해당 장치가 범위 내에 있을 때 마우스, 터치 접점 및 펜을 테스트하십시오. MDN은 포인터 캡처, 포인터 식별자 및 이벤트 계열과 마우스 이벤트의 관계를 문서화합니다.

⁨게임용 포인터 이벤트⁩ 관련 질문

포인터 이벤트는 마우스와 터치를 동일하게 만드나요?

이벤트 모델을 공유하지만 속성과 사용자 기대치는 여전히 다를 수 있습니다. 게임 메커니즘에 구체적인 장치별 요구 사항이 있는 경우에만 포인터 유형 또는 기타 이벤트 세부 정보를 사용하세요.

게임에서는 언제 포인터 캡처를 사용해야 합니까?

포인터가 요소의 히트 영역을 벗어난 뒤에도 활성 드래그의 이동 및 손을 뗀 이벤트를 계속 받아야 할 때 캡처를 사용하세요. 정리할 때 캡처를 해제하고 취소도 처리해야 합니다.

추가 읽을거리

오래된 정보를 발견하셨나요? 수정 사항 제보

계속 즐겨요.

언제든 즐길 수 있는 무료 브라우저 게임. 마음에 드는 게임을 찾아 다음 최애로 만들어 보세요.

궁금한 것을 더 찾아보세요