Je travaille sur un jeu de tir top-down 2D et je dois maintenant aller au-delà de mon système de collision de boîte de délimitation rectangle de base.
J'ai de grands niveaux avec de nombreux sprites différents, tous de formes et de tailles différentes. Les textures pour les sprites sont tous des fichiers png carrés avec des arrière-plans transparents, j'ai donc également besoin d'un moyen d'avoir une collision uniquement lorsque le joueur entre dans la partie colorée de la texture, et non l'arrière-plan transparent.
Je prévois de gérer la collision comme suit:
- Vérifiez si des sprites sont à portée du joueur
- Faire un test de collision rectangle englobant
- Faire une collision précise (là où j'ai besoin d'aide)
Cela ne me dérange pas des techniques avancées, car je veux bien faire les choses avec toutes mes exigences à l'esprit, mais je ne sais pas comment aborder cela. Quelles techniques ou même bibliothèques à essayer. Je sais que je devrai probablement créer et stocker une sorte de forme qui représente avec précision chaque image-objet moins l'arrière-plan transparent.
J'ai lu que par pixel est lent, donc étant donné mes grands niveaux et le nombre d'objets, je ne pense pas que cela conviendrait. J'ai également regardé Box2d, mais je n'ai pas pu trouver beaucoup de documentation, ni aucun exemple de comment le mettre en service avec SFML.
la source