Oneshot Gems
Jugar ahora

Para desarrolladores de juegos

Utilice un modelo de puntero sin perder detalles de entrada

Un juego de navegador compatible con ratón, pantalla táctil y lápiz puede usar Pointer Events como modelo de entrada común. Esta abstracción evita duplicar la gestión de eventos, pero no hace que todos los dispositivos se comporten igual. Decide qué diferencias entre dispositivos afectan a la mecánica y usa el identificador y el tipo de puntero del evento solo cuando aporten algo al juego.

En esta página

Realice un seguimiento de cada puntero activo deliberadamente

Para un simple arrastre, almacene el pointerId desde pointerdown y actualícelo solo mientras ese puntero esté activo. La captura del puntero puede mantener movimientos posteriores y eventos de liberación dirigidos al elemento del juego cuando el puntero viaja más allá de sus límites. Maneje pointerup y pointercancel como finales separados y elimine el estado en ambas rutas para que un gesto perdido no pueda dejar el juego atascado.

No des por hecho que solo hay un puntero, salvo que el diseño limite la entrada. Un segundo dedo, un lápiz o un ratón pueden generar otro pointerId. Si el juego solo permite un arrastre activo, ignora los demás punteros de forma predecible, sin dejar que sustituyan al primero.

Elija cuando el tipo de dispositivo importa

PointerEvent expone pointerType cuando es necesario tratar de forma distinta el tacto, el lápiz y el ratón. Por ejemplo, una mecánica de dibujo puede usar la presión del lápiz, mientras que un botón de menú debería aceptar cualquier puntero principal. No bifurques el código por tipo de dispositivo solo para recrear sistemas de eventos separados: añade casos que probar sin mejorar la interacción.

Los navegadores pueden emitir eventos de mouse de compatibilidad alrededor de la entrada del puntero, así que evite manejar una acción dos veces a través de ambos sistemas. Pruebe un mouse, un contacto táctil y un lápiz cuando esos dispositivos estén dentro del alcance. MDN documenta la captura de punteros, los identificadores de punteros y la relación de la familia de eventos con los eventos del mouse.

Preguntas sobre ⁨eventos de puntero para juegos⁩

¿Los eventos de puntero hacen que el mouse y el tacto sean idénticos?

Comparten un modelo de evento, pero las propiedades y las expectativas de los usuarios aún pueden diferir. Utilice pointerType u otros detalles del evento solo cuando una mecánica tenga una necesidad específica de un dispositivo concreto.

¿Cuándo debería un juego utilizar la captura de puntero?

Usa la captura cuando un arrastre activo deba seguir recibiendo movimiento y el evento de liberación, aunque el puntero salga de la zona interactiva del elemento. Libera la captura durante la limpieza y gestiona también la cancelación.

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