# Traitez l'annulation comme un chemin d'entrée complet

> Mettez fin aux actions glissées et maintenues en toute sécurité lorsque le navigateur annule un pointeur et évitez les contrôles bloqués après un défilement, une rotation ou des interruptions.

- URL: https://oneshotgems.ai/fr/topics/pointer-cancellation-in-games
- Catégorie: Pour les développeurs de jeux
- Type: Guide
- Mis à jour le: 5 octobre 2026

Une interaction avec le pointeur ne se termine pas toujours par pointerup. Le navigateur peut l’annuler lorsqu’un toucher déclenche le défilement ou le zoom de la page, ou lorsque l’appareil ou le navigateur ne peut plus transmettre les événements de ce pointeur. Si la machine à états du jeu ne prévoit pas l’annulation, un objet déplacé peut rester accroché ou une action maintenue peut ne jamais s’arrêter.

## Rendre le nettoyage idempotent

Lorsque pointerdown démarre un glissement, stockez le pointerId actif et l'objet ou l'action qu'il possède. pointerup et pointercancel devraient mettre fin à cette interaction et effacer son état. Écrivez la fonction de nettoyage de sorte qu’un appel après la fin de l’action soit sans effet indésirable ; cela simplifie la gestion des pertes de capture, des changements de fenêtre et des nettoyages défensifs répétés.

Si vous utilisez la capture de pointeur, écoutez lostpointercapture comme un autre signal indiquant que l’interaction ne possède plus le pointeur. N'interprètez pas l'annulation comme un dépôt réussi à moins que le jeu ne définisse explicitement ce résultat. Un glissement annulé peut ramener un objet à sa position de départ, conserver la dernière position valide ou annuler le déplacement ; choisissez une règle et communiquez-la par un retour visuel.

## Tester la prise de contrôle des gestes du navigateur

Essayez un glissement qui commence sur la surface de jeu et continue vers le bord de l'écran, un défilement de page vertical qui commence sur la surface, une rotation pendant une prise et un deuxième doigt touchant ailleurs. Confirmez qu'aucun personnage ne continue de bouger et qu'aucun bouton ne reste visuellement enfoncé après l'annulation.

La propriété touch-action influence les gestes gérés par le navigateur. MDN explique que les navigateurs peuvent envoyer une annulation de pointeur lors de la prise en charge du panoramique ou du zoom. Considérez l'annulation comme un résultat normal que votre modèle d'interaction doit gérer.

## Questions

**Le pointercancel est-il un pointeur ayant échoué ?** Il s'agit d'un signal distinct indiquant que le pointeur ne poursuivra plus l'interaction en cours. Exécutez le nettoyage et appliquez la règle d’annulation du jeu plutôt que de supposer que l’action est terminée.

**L’action tactile peut-elle empêcher chaque annulation de pointeur ?** Non. Il guide la gestion des gestes tactiles par le navigateur, mais d'autres conditions peuvent toujours mettre fin à la transmission du pointeur. Continuez à gérer les annulations même lorsque la surface de jeu comporte des règles gestuelles personnalisées.

## Suivez votre curiosité

- [Utiliser les événements de pointeur pour la saisie de jeux par navigateur](https://oneshotgems.ai/fr/topics/pointer-events-for-games): Modélisez la souris, le stylet et le toucher via des événements de pointeur, tout en préservant la capture, l'identité de l'appareil et le comportement de compatibilité dans une boucle de jeu.
- [Concevoir les commandes tactiles des jeux web](https://oneshotgems.ai/fr/topics/touch-controls-for-web-games): Planifiez les interactions tactiles en tenant compte des gestes du navigateur, de retours visuels lisibles et de l’état du pointeur afin que le jeu réponde de façon prévisible sur téléphone.

## Pour aller plus loin

- [MDN : événement pointercancel](https://developer.mozilla.org/en-US/docs/Web/API/Element/pointercancel_event)
- [MDN : action tactile](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/touch-action)

---
Page canonique: https://oneshotgems.ai/fr/topics/pointer-cancellation-in-games
