Chargement local sur une image - Java - Programmation
Marsh Posté le 12-03-2006 à 23:32:12
Bonjour!
Citation : ca scintille trop car a chaque fois je charge une nouvelle image pourtant j'ai mis un double buffer |
As-tu bien validé que ton double-buffering fonctionne, par exemple en dessinant un rectangle avec la méthode fillRect() ?
Citation : ca scintille trop car a chaque fois je charge une nouvelle image |
Quelle technique utilises-tu ? Tu as pré-chargé toutes les images dans un tableau ou bien tu les charges au fur et à mesure ?
Marsh Posté le 13-03-2006 à 00:01:00
Oui oui mon double buffer fonctionnait correctement
En revanche je ne chargeait pas les images dans un tableau d'ou le scintillement, je met au passé car j'ai finalement décider d'utiliser un double buffer hardware et la ca fonctionne parfaitement j'ai méme du ralentir la vitesse de deplacement du joueur car ca allais trop vite
Marsh Posté le 13-03-2006 à 08:57:09
Avec quelle méthode est-ce que tu charges les images de ton jeu ? La classe Image, par exemple, charge les images de façon asynchrone (càd dans un thread séparé de celui de ton jeu), ce qui peut amener des affichages bizarroïdes si on n'y est pas préparé... En revanche, il n'y a pas ce type de problème avec les BufferedImage.
Marsh Posté le 14-03-2006 à 09:17:31
je charge avec getToolkit().getImge()
hum en fait je fait direct ca : g.drawImage(getToolkit().getImage(...), .......); mais comme je l'ai dit plus haut, je n ai plus ce probleme avec le double buffer hardware
Mais il est quand même bon a savoir qu'il est preferable de charger dans une buffered image
Marsh Posté le 14-03-2006 à 10:32:23
Citation : g.drawImage(getToolkit().getImage(...), .......); |
En utilisant cette méthode, tu ne déclenches le chargement de l'image qu'au moment de l'afficher, il y a donc une très forte chance qu'elle ne soit pas prête à temps. Il faudrait que tu charges les images durant une phase d'initialisation, en les stockant dans un tableau d'objets "Image", et que tu forces leur chargement avec la méthode "prepareImage()".
Marsh Posté le 12-03-2006 à 16:56:16
Bonjour,
Voila je suis entrain de creer un petit jeu 2D en java et j'ai un petit soucis, au niveau de l'animation de mon perso (quand il marche) ca scintille trop car a chaque fois je charge une nouvelle image pourtant j'ai mis un double buffer
Donc je me suis dit que si je regroupait toutes les images de mon perso sur une seule et même image afin de faire des chargement locale sur l'image selon l'image du perso voulu ca devrait aller mieux (j'ai pas été très clair sur ce coup )
En gros faire une image dans ce genre la :
Mais je ne sais pas comment faire pour charger seulement une partie d'image
Voila si quelqu'un sait...
Merci d'avance
Message édité par the_phoenix2 le 12-03-2006 à 16:57:03