Oneshot Gems
Jouer

Pour les développeurs de jeux

Utilisez le test de collision le plus simple qui correspond à la forme

La détection de collision demande si les objets du jeu se chevauchent ou se croisent. La meilleure première représentation est généralement plus simple que l'illustration : des rectangles pour les cellules et les plates-formes de la grille, des cercles pour les acteurs ronds ou une petite collection de formes pour un obstacle irrégulier. Commencez par une question claire (toucher, entrer ou traverser) et choisissez un test qui y répond de manière cohérente. Les contrôles au pixel près ajoutent de la complexité et sont rarement nécessaires pour un jeu dont les règles sont déjà approximatives.

Sur cette page

Faites correspondre le test à la règle

Pour les rectangles alignés sur l'axe, comparez les étendues gauche, droite, supérieure et inférieure de chaque objet ; le chevauchement se produit lorsque les intervalles se croisent sur les deux axes. Pour les cercles, comparez l’entraxe avec la somme des rayons. Un jeu de grille peut éviter complètement la géométrie en vérifiant si deux acteurs revendiquent la même cellule.

Créez une petite scène de diagnostic avec deux formes colorées et affichez leurs zones de collision. Déplacez chaque paire pour tester le contact des bords, le chevauchement partiel et le passage tout près sans collision. Décidez si le contact des bords compte comme une collision et appliquez la même convention partout afin que le mouvement et le score ne se contredisent pas.

Éviter de manquer les traversées rapides

Un objet rapide peut se trouver d’un côté d’une paroi mince lors d’une mise à jour et de l’autre côté lors de la suivante. Des étapes de simulation fixes plus petites peuvent aider, mais ne constituent pas la seule réponse : testez un segment balayé ou une cible étendue lorsque la plage de mouvement est grande par rapport à l'épaisseur de l'obstacle.

Avec beaucoup d’objets, écartez d’abord les paires qui ne peuvent pas être proches en utilisant une grille grossière ou des cellules spatiales, puis lancez les tests détaillés sur les paires candidates. Mesurez avant d’ajouter cette structure : pour quelques dizaines d’entités, des tests directs par paire sont parfois plus simples à maintenir et suffisants.

Questions sur ⁨détection de collision de jeu⁩

Les hitbox doivent-elles correspondre aux contours des sprites ?

En général, non. Un rectangle ou un cercle un peu tolérant peut rendre les commandes plus équitables. Affichez les hitboxes pendant le développement et ajustez-les selon la règle prévue et les attentes des joueurs.

Canvas peut-il me dire si deux sprites entrent en collision ?

Canvas fournit des tests de chemin tels que isPointInPath() pour vérifier un point par rapport à un chemin tracé, mais il ne définit pas de règles générales de collision jeu-objet. Gardez la géométrie de simulation explicite et indépendante du dessin.

Pour aller plus loin

Vous avez repéré une information dépassée ? Signaler une correction

Continuez à jouer.

Des jeux gratuits sur navigateur, prêts quand vous l’êtes. Trouvez celui qui vous plaît et faites-en votre prochain favori.

Suivez votre curiosité