EricCfA
Messages postés10Date d'inscriptionmercredi 29 juin 2011StatutMembreDernière intervention 8 juin 2012
-
5 juil. 2011 à 10:50
Utilisateur anonyme -
2 août 2011 à 10:01
bonjour à tous
s'il vous plait je voudrai savoir comment on fait un animation d'une image dans un programme écrit en java .
GodConan, tu sais très bien ce que je veux dire, il n'y a pas besoin de créer un thread à part, il suffit d'utiliser l'Event Dispatch Thread de base et de mesurer combien de temps s'est écoulé depuis le dernier appel à paintComponent(Graphics g), cela permet de déterminer quelle image doit être affichée. J'ai déjà posté un exemple sur un autre fil de discussion histoire de ne pas parler dans le vide.
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 1 août 2011 à 23:28
;o) ... vivi ;o) ... perso j évite les anime dans mes ihm de gestion de toute facon ;o) et quand c est pour un jeu j utilise des buffers ;o) ... et j ai remarqué ;o) que multiplier les threads ;o) n est jamais bien bon (pour la syncro) ;o) ceci dit ;o) c est un petit exercice ;o) de poo ;o) ...
Il est préférable d'utiliser l'API fork/join ou au moins des thread pools au lieu de créer directement des threads à tout va. Il existe de nombreux moyens de synchroniser les threads en Java dont le couple wait/notify et les sémaphores. Pour les animations, bien évidemment il faut activer le double buffering pour éviter le scintillement. Pour un jeu, le mieux consiste à créer une texture, charger les données de l'image dans cette texture et changer les coordonnées des sommets ou la transformation du noeud du scénographe représentant l'entité déplacée. Pensez à activer XRender qui améliore les performances de Java2D sous Linux; s'il n'est pas disponible sur une machine (y compris sous Windows) et que vous essayez de l'activer, Java ne va pas planter mais juste ne pas l'activer silencieusement ou en postant juste un warning dans les logs (si vous utilisez la valeur True au lieu de true).