본문으로 이동
C+ CHPLUS GAMES작은 게임, 새로운 도전.
홈 / 개발노트

모바일 입력 · 코드 관찰

길게 누르는 조작이 끊기지 않도록

GRAPPLE SWING의 누름·놓음·취소 처리와 무한낙하의 이동 버튼을 통해 모바일 입력을 살펴봅니다.

2026-09-21 작성 · 제공된 게임 코드와 기존 작업 기록 기준

탭 한 번과 길게 누르기는 다르다

GRAPPLE SWING은 누르는 동안 줄을 잡고 놓는 순간 줄을 해제합니다. 브라우저가 길게 누르기를 텍스트 선택이나 기본 메뉴로 해석하면 게임의 입력과 충돌합니다. 기존 업데이트 문서에는 이 선택 팝업을 막고 줄 유지 입력을 개선했다는 기록이 있습니다. 특정 Android 기종에서 언제 발생했는지는 기록에 없어 추정하지 않았습니다.

누름, 놓음, 취소를 따로 처리하기

현재 파일에는 포인터 캡처와 활성 포인터 ID 관리가 들어 있습니다. 손가락이 처음 누른 영역을 벗어나도 같은 입력을 추적하고, pointerup뿐 아니라 pointercancel에서도 상태를 정리합니다. 스윙 게임에서 놓음이 빠지면 사용자가 떼었는데도 줄을 계속 잡는 문제가 생길 수 있으므로 취소 경로도 중요한 부분입니다.

무한낙하의 좌우 버튼

무한낙하는 버튼 누름으로 이동 상태를 켜고, 놓음·취소·캡처 해제에서 끕니다. 두 게임은 비슷한 이벤트를 쓰지만 스윙은 줄 유지, 낙하는 방향 이동을 제어합니다. 같은 모바일 입력이라고 한 가지 설명을 복사하지 않고 각 게임에서 입력이 무엇을 유지하는지 따로 설명했습니다.

이번 포털에서 바꾼 범위

이번에는 입력 함수를 수정하지 않고 안내와 탐색 화면을 정리했습니다. 모바일 메뉴를 숨기지 않고 줄바꿈되게 만들고, 실행 버튼과 읽기 링크를 분리했습니다. 게임 안의 조작 영역과 규칙은 유지해 포털의 레이아웃 변경이 입력에 영향을 주지 않도록 했습니다.