YnQuadTree : Le partionnement de l’espace dans Yna
La gestion des collisions est un sujet intéressent car c’est une partie logique du code qui peut vite mal finir et ruiner les performances d’un jeu. Si vous développez un jeu avec peu d’élément mobiles à l’écran ça ne posera pas de problème mais dés que vous aurez beaucoup de choses mobiles à afficher il faudra penser à mettre en place des optimisations afin d’économiser les ressources pour les redistribuer ailleurs. Voilà par exemple un test de collision basique, qui fonctionne bien mais qui n’est pas optimisé foreach (Sprite monstre in monstreCollection) { if (joueur.Rectangle.Intersects(monstre)) joueur.Position = joueur.LastPosition; } Ici on fait un test sur toute une collection et si un élément de la collection entre en collision avec le joueur alors ce dernier récupère sa dernière position (la position avant la collision) et on simule une collision avec son arrêt. Comme je l’ai indiqué ça fonctionne bien mais imaginez … Lire cet article







