Oneshot Gems
Jugar ahora

Para desarrolladores de juegos

Trate la cancelación como una ruta de entrada completa

Una interacción con el puntero no siempre termina con pointerup. El navegador puede cancelarla si un toque pasa a ser un desplazamiento o zoom de la página, o si el dispositivo o el navegador ya no puede seguir enviando eventos de ese puntero. Si la máquina de estados del juego no contempla la cancelación, un objeto arrastrado puede quedarse enganchado o una acción mantenida puede no detenerse nunca.

En esta página

Haz que la limpieza sea idempotente

Cuando el puntero comienza a arrastrar, almacena el pointerId activo y el objeto o acción que posee. Tanto pointerup como pointercancel deberían finalizar esa interacción y borrar su estado. Escriba la limpieza para que llamarla después de una acción ya finalizada sea inofensivo; esto simplifica el manejo de la pérdida de captura, los cambios de ventanas y la limpieza defensiva repetida.

Si utiliza la captura de puntero, escuche lostpointercapture como otra señal de que la interacción ya no es propietaria del puntero. No interpretes la cancelación como una colocación completada correctamente a menos que el juego defina explícitamente ese resultado. Un arrastre cancelado podría devolver un objeto a su posición inicial, mantener la última posición válida o cancelar el movimiento; Elija una regla y comuníquesela con una señal visual.

Probar cuándo el navegador toma el control de los gestos

Prueba un arrastre que comienza en la superficie del juego y continúa hacia el borde de la pantalla, un desplazamiento de página vertical que comienza sobre la superficie, una rotación durante una retención y un segundo dedo tocando en otra parte. Confirme que ningún personaje siga moviéndose y que ningún botón permanezca presionado visualmente después de la cancelación.

La propiedad touch-action influye en los gestos que maneja el navegador. MDN explica que los navegadores pueden enviar la cancelación del puntero al realizar la panorámica o el zoom. Trate la cancelación como un resultado normal que su modelo de interacción debe manejar.

Preguntas sobre ⁨gestión de la cancelación del puntero en juegos⁩

¿La cancelación del puntero es un puntero fallido?

Es una señal separada de que el puntero ya no continuará con la interacción actual. Ejecute la limpieza y aplique la regla de cancelación del juego en lugar de asumir que la acción se completó.

¿Puede touch-action evitar todas las cancelaciones de puntero?

No. Guía el manejo de los gestos táctiles del navegador, pero otras condiciones aún pueden finalizar la entrega del puntero. Mantenga el manejo de cancelación incluso cuando la superficie del juego tenga reglas de gestos personalizadas.

Más información

¿Has visto algo desactualizado? Notificar una corrección

Sigue jugando.

Juegos de navegador gratis, listos cuando tú quieras. Encuentra uno que te guste y conviértelo en tu nuevo favorito.

Sigue tu curiosidad