J'ai vu de nombreux exemples sur la manière de restituer des sprites à partir d'un spritesheet, mais je n'ai pas compris en quoi c'est le moyen le plus courant de traiter les sprites dans des jeux en 2D.
Dans les quelques applications de démonstration que j'ai créées, j'ai commencé avec le rendu des sprites en traitant chaque image d'animation pour un type de sprite donné comme sa propre texture - et cette collection de textures est stockée dans un dictionnaire. Cela semble fonctionner pour moi et convient assez bien à mon flux de travail, car j'ai tendance à créer mes animations en tant que fichiers gif / mng, puis à extraire les images au format png individuel.
Existe-t-il un avantage de performance notable en ce qui concerne le rendu à partir d'une seule feuille plutôt que de textures individuelles? Avec un matériel moderne capable de dessiner des millions de polygones sur l'écran cent fois par seconde, est-ce que cela compte même pour mes jeux en 2D qui ne traitent que quelques dizaines de rectangles de 50 x 100 pixels?
Les détails de l’implémentation du chargement d’une texture dans la mémoire graphique et de son affichage dans XNA semblent assez abstraits. Tout ce que je sais, c'est que les textures sont liées au périphérique graphique lors de leur chargement, puis pendant la boucle de jeu, les textures sont rendues par lots. Je ne vois donc pas clairement si mon choix affecte les performances.
Je soupçonne qu'il y a de très bonnes raisons pour lesquelles la plupart des développeurs de jeux en 2D semblent les utiliser, je ne comprends tout simplement pas pourquoi.