Oneshot Gems
Jogar agora

Para desenvolvedores de jogos

Use um modelo de ponteiro sem perder detalhes de entrada

Um jogo de navegador compatível com mouse, tela sensível ao toque e caneta pode usar Pointer Events como modelo de entrada compartilhado. Essa abstração evita duplicar o tratamento de eventos, mas não significa que todos os dispositivos se comportem da mesma forma. Decida quais diferenças entre dispositivos importam para a mecânica do jogo e use o identificador e o tipo do ponteiro do evento somente quando isso trouxer benefício ao jogo.

Nesta página

Rastreie cada ponteiro ativo deliberadamente

Para um simples arrastar, armazene o pointerId de pointerdown e atualize apenas enquanto o ponteiro estiver ativo. A captura do ponteiro pode manter o movimento posterior e liberar eventos roteados para o elemento do jogo quando o ponteiro ultrapassa seus limites. Trate pointerup e pointercancel como finais separados e remova o estado em ambos os caminhos para que um gesto perdido não deixe o jogo travado.

Não presuma que há apenas um ponteiro, a menos que o design limite as entradas. Um segundo dedo, uma caneta ou um mouse pode gerar outro pointerId. Se o jogo permitir apenas um arrasto ativo, ignore os demais ponteiros de forma previsível, sem deixar que substituam o primeiro.

Escolha quando o tipo de dispositivo é importante

PointerEvent expõe pointerType para casos em que toque, caneta e mouse precisam de tratamento distinto. Por exemplo, uma mecânica de desenho pode usar a pressão da caneta, enquanto um botão de menu deve aceitar qualquer ponteiro primário. Evite ramificar o tipo de dispositivo apenas para recriar sistemas de eventos separados; adiciona caminhos para testar sem melhorar a interação do jogador.

Os navegadores podem emitir eventos de compatibilidade do mouse em torno da entrada do ponteiro, portanto, evite manipular uma ação duas vezes em ambos os sistemas. Teste um mouse, um contato de toque e uma caneta quando esses dispositivos estiverem no escopo. O MDN documenta a captura de ponteiros, identificadores de ponteiros e o relacionamento da família de eventos com eventos de mouse.

Perguntas sobre ⁨eventos de ponteiro para jogos⁩

Os eventos de ponteiro tornam o mouse e o toque idênticos?

Eles compartilham um modelo de evento, mas as propriedades e as expectativas dos usuários ainda podem ser diferentes. Use pointerType ou outros detalhes de evento somente quando uma mecânica tiver uma necessidade concreta específica do dispositivo.

Quando um jogo deve usar captura de ponteiro?

Use a captura quando um arrasto ativo precisar continuar recebendo movimentos e o evento de liberação mesmo depois que o ponteiro sair da área interativa do elemento. Libere a captura durante a limpeza e trate também o cancelamento.

Leitura complementar

Viu alguma informação desatualizada? Informar uma correção

Continue jogando.

Jogos grátis no navegador, prontos quando você quiser. Encontre um de que goste e faça dele seu próximo favorito.

Siga sua curiosidade