Salut à toutes et à tous,

j'ai recherché dans de nombreux cours dont le livre Developing Games in Java (qui m'a coûté 50 euros) et je n'ai pas trouvé comment gérer au mieux les sprites qui changent de dimensions.

Mise en situation :p :
J'ai fais des essais avec le code de ce bouquin en mettant le p'tit Mario à la place du perso à casquette. Etant donné que Mario est animé, toutes ses images ne font pas la même taille. La solution que j'ai alors adopté était de prendre une image plus large pour chaque frame (image d'un animation) et de centrer Mario dedans. Ca fonctionne, mais niveau optimisation ça me paraît tout pourris.

Le problème est que maintenant je veux faire un jeu avec un perso qui mette des coups donc dont les dimensions du sprite changent énormément. Plusieurs problèmes se posent à moi :
- comment assurer le positionnement cohérent d'une image de l'animation par rapport à la précédente si l'image est plus petite par exemple? dans ce cas, Mario se décale à gauche. Une solution serait de surcharger la méthode d'affichage d'une image afin de l'afficher à partir de son centre mais ça me paraît lourd.
- si le perso est contre un mur et donne un coup de pied, la partie droite de son image va se retrouver dans le mur, il y aura donc un bug avec les tests de colisions...

Ce que j'aimerai savoir, c'est quelles sont les solutions optimums utilisées pour des sprites dont les dimensions changent; aussi bien en ce qui concerne l'affichage que les tests de collisions... Je précise que je compte me servir d'un test avec un BoxBouding rétrécie, pas du pixel perfect, du moins pour l'instant.

Un gros merci à tous ceux qui prennent le temps de me lire et de me répondre.

Je suis évidemment preneur si vous avez un article qui explique ça correctement (en français ou en anglais) quelque soit le langage car je n'en ai pas trouvé.

banzaï !