Fichier .spritepos
De WikiPlee.
Les fichiers ayant pour extension .spritepos contiennent la liste des sprites présents dans une image, définis par un nom, une position et une taille. Ces fichiers sont forcément associés à un fichier image.
[modifier] La gestion des images par le jeu
Le moteur graphique accepte des images de n'importe quelle taille. Néanmoins, la sous-couche OpenGL utilisée par celui-ci requiert des images dont les dimensions sont des puissances de deux. Pour que cette limite ne soit pas répercutée sur l'utilisateur, le moteur doit ajuster les images. Ainsi, si une image ne vérifie pas cette contrainte de dimensions, elle est étendue de façon à la vérifier.
Par exemple, si l'utilisateur souhaite faire un sprite à partir d'une image de 49 pixels sur 76, le moteur étendra l'image à 64 pixels sur 128. L'espace ajouté pour atteindre ces dimensions est rempli par des pixels transparents.
Cet espace ajouté consomme de la mémoire inutilement. De plus, l'ajustement des images ralentit leur chargement. Par conséquent, on préfèrera ajuster la taille a priori et remplir l'espace superflu avec d'autres sprites.
L'inconvénient de placer plusieurs sprites dans une même image est qu'il devient difficile de retrouver leur positions et leurs tailles. Le fichier .spritepos est une solution à ce problème ; il contient les positions et les tailles des sprites. En plus de servir d'aide mémoire, ce fichier peut être utilisé directement par l'éditeur de niveaux. Pour cela, il doit avoir le même nom que l'image, à l'extension prêt. Par exemple, si l'image se nomme mon_image.png, le fichier associé sera mon_image.spritepos.
[modifier] Exemple
Supposons que l'utilisateur veuille utiliser trois sprites : une flèche de 40 pixels sur 12, un poisson de 21 pixels sur 17 et un ballon de 18 pixels sur 18. Il commence par placer ces sprites dans une image mon_image.png de 64 pixels sur 32. La flèche est placée à la position (0,0), le poisson en (40, 0) et le ballon en (0, 12). Le fichier mon_image.spritepos associé ressemblera à
# Les lignes commençant par un # sont des commentaires # Les autres lignes doivent avoir le format suivant : # # nom du sprite: x y largeur hauteur flèche: 0 0 40 12 poisson: 40 0 21 17 ballon: 0 12 18 18

