J'apprends Java en faisant un petit jeu dans un JApplet. J'ai eu un petit problème avec l'animation de mon sprite.Comment se débarrasser du scintillement qui apparaît pendant mon animation?
Voici le code:
this.sprite.setBounds(0,0,20,17);
this.sprite.setIcon(this.rangerDown);
for(int i = 0; i< 16;i++)
{
this.sprite.setBounds(this.sprite.getX(), this.sprite.getY()+1, 20, 17);
this.sprite.update(this.sprite.getGraphics());
try{
Thread.currentThread().sleep(100);
}catch(InterruptedException e){
}
}
Il a laissé un peu de scintillement lors de l'animation. Une fois l'animation terminée, le scintillement disparaît, mais c'est plutôt moche ... Je suppose qu'il y a un pas que j'ai manqué. J'utilise cette méthode parce qu'elle donne le meilleur résultat pour l'instant, mais je voudrais rester sans AWT si possible, en utilisant Swing à la place.
Des idées pour se débarrasser du scintillement?
Merci d'avoir lu.
Screenshoot (Impossible de publier des images, désolé).
Merci pour la réponse. Y a-t-il un moyen de le faire avec Swing? Cela semble une méthode assez complexe pour une chose simple. –
Il s'agit de la méthode par défaut pour dessiner des objets personnalisés sur des panneaux avec swing. Vous remplacez paintComponent qui vous fournit un objet Graphics que vous pouvez convertir en un objet Graphics2D en toute sécurité et faire votre chose. Cette méthode garantit également que votre dessin sera à double tampon afin que vous n'ayez pas à vous soucier de scintillement. –
Ok, le mot 'scintillement' me permet de trouver des infos sur Google. Je vais continuer à chercher une solution simple. Merci encore. –