Bonjour à tous, je fais mes premiers pas en programmation et suis entrain d'écrire un petit moteur de jeu (pour un jeu de Tank). Comme y'aura des sprites un peut partout, j'utilise un rendu par Double-buffering Hardware et utilise une image GIF avec transparence qui intègre plusieurs "sous-images" (technique de la Tiled Image que j'ai vu quelque part).
Bon jusque là pas de problème, j'ai reussis à faire bouger mon sprite tout en lui faisant lire son animation de "sous images".
Le seul soucis, c'est que j'ai trouvé DEUX solutions pour le faire:
-l'une consiste à transformer mon Image GIF en BufferedImage puis à utiliser sa methode getSubImage(int* , int, int, int).
-l'autre consiste à garder mon Image GIF sous forme d'Image et d'utiliser le constructeur
Graphics.drawImage(Image img, int dstx1, int dsty1, int dstx2, int dsty2, int srcx1*, int srcy1, int srcx2*, int srcy2, ImageObserver observer);
Sachant que mon Rendu est en Double Buffering, et je vais peut-etre dire des conneries, est-ce vraiment pertinent d'utiliser une BufferedImage??
Quel methode est la plus performante?
Parce que transformer mon Image en BufferedImage prends plusieurs lignes de code alors que le drawImage n'en prend qu'une seule...
PS: l'asterisque * veut dire que je place à cette endroit une variable qui increment de la largeur d'une sous-image à chaque boucle).
Partager