Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1463 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  java2D avec MediaTracker , erreur difficile , aidez moi SVP !!! merci

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

java2D avec MediaTracker , erreur difficile , aidez moi SVP !!! merci

n°288247
NathalieCo​m
Posté le 17-01-2003 à 12:14:43  profilanswer
 

une erreur s'est produit dans la ligne rouge dans le prog ci-dessous,
         can't resolve symbole
                         if([#717100]tracker[#7f7f00].....[#0000ff]
 
merci à tous !!!!
 
 
 
 

Code :
  1. import java.awt.*;
  2. public class Example7Applet extends
  3. java.applet.Applet implements Runnable {
  4. int frame;
  5. int delay;
  6. Thread animator;
  7. Dimension offDimension;
  8. Image offImage;
  9. Graphics offGraphics;
  10. Image world;
  11. Image car;
  12. /**
  13. * Initialisation de l'applet et calcul du delai
  14. * entre "trames".
  15. */
  16. public void init() {
  17.  String str = getParameter("fps" );
  18.  int fps = (str != null) ? Integer.parseInt(str) : 10;
  19.  delay = (fps > 0) ? (1000 / fps) : 100;
  20.  MediaTracker tracker = new MediaTracker(this);
  21.  world = getImage(getCodeBase(), "world.gif" );
  22.  car = getImage(getCodeBase(), "car.gif" );
  23.  tracker.addImage(world, 0);
  24.  tracker.addImage(car, 0);
  25.  }
  26. /**
  27. * La methode start() de l'applet. On crée la
  28. * thread d'animation et on la lance.
  29. */
  30. public void start() {
  31.  animator = new Thread(this);
  32.  animator.start();
  33.  }
  34. /**
  35. * Le corps de la thread.
  36. */
  37. public void run() {
  38. // stocker la date de lancement
  39.  long tm = System.currentTimeMillis();
  40.  while (Thread.currentThread() == animator) {
  41. // lance l'affichage de l'animation
  42.  repaint();
  43. // Delai d'attente ajuste pour avoir la
  44. // meme attente entre chaque trame.
  45. try {
  46.  tm += delay;
  47.  Thread.sleep(Math.max(0, tm - System.currentTimeMillis()));
  48.  }
  49. catch (InterruptedException e) {
  50.  break;
  51.  }
  52. // numero de trame incremente pour
  53. // pouvoir afficher la trame
  54. // suivante.
  55. frame++;
  56. }
  57.    }
  58. /**
  59. * La methode stop() de l' applet.
  60. * Elle arrete la thread et desalloue
  61. * les entites necessaires au double buffering.
  62. */
  63. public void stop() {
  64.  animator = null;
  65.  offImage = null;
  66.  offGraphics = null;
  67.  }
  68. /** dessine la trame courante. */
  69. public void paint(Graphics g) {
  70.  Dimension d = size();
  71. // Cree le double buffering si ce n'est pas deja fait.
  72. if ((offGraphics == null) || (d.width != offDimension.width)
  73.                           || (d.height != offDimension.height)) {
  74.  offDimension = d;
  75.  offImage = createImage(d.width, d.height);
  76.  offGraphics = offImage.getGraphics();
  77.  }
  78. // efface l'image precedente
  79. offGraphics.setColor(getBackground());
  80. offGraphics.fillRect(0, 0, d.width, d.height);
  81. offGraphics.setColor(Color.black);
  82. // prepare le dessin de la bonne trame
  83. paintFrame(offGraphics);
  84. // affiche la bonne trame a l'écran
  85. g.drawImage(offImage, 0, 0, null);
  86. }
  87. public void update(Graphics g) {
  88.  paint(g);
  89.  }
  90. /** la creation de la trame :
  91. * utilise le double buffering et le MediaTracker
  92. */
  93. public void paintFrame(Graphics g) {
  94. // Ne faire l'affichage que lorsque
  95. // toutes les images ont été chargées
  96. // au besoin provoquer le chargement
  97. // des images par status(..., true);
  98. [#00ff00] l'erreur se situe ici [#00d42a]
  99.  [#d42a00]if (tracker.statusID(0, true) == MediaTracker.COMPLETE) {
  100. Dimension d = size();
  101.   int w = world.getWidth(this);
  102.   int h = world.getHeight(this);
  103.   g.drawImage(world, (d.width - w)/2,
  104.   (d.height - h)/2, this);
  105.   w = car.getWidth(this);
  106.   h = car.getHeight(this);
  107.   w += d.width;
  108. //dessine la premiere voiture qui avance de
  109. // a la fois 5 pixels de droite à gauche
  110.   g.drawImage(car, d.width - ((frame * 5) % w), (d.height - h)/3, this);
  111. //dessine la seconde voiture :
  112. // elle avance de 7 pixels de droite à gauche
  113.   g.drawImage(car, d.width - ((frame * 7) % w), (d.height - h)/2, this);
  114.   }
  115. else { // dans le cas où les images n'ont
  116. // pas encore été chargées
  117.  g.drawString("Images en cours de chargement",50, 50);
  118.  }
  119. }
  120. }

mood
Publicité
Posté le 17-01-2003 à 12:14:43  profilanswer
 

n°288251
NathalieCo​m
Posté le 17-01-2003 à 12:18:00  profilanswer
 

désolée pour le désordre mais j'ai essayé d'utiliser des couleurs.
l'erreur se situe dans la ligne 22  
if (tracker ...................

n°288264
darklord
You're welcome
Posté le 17-01-2003 à 12:29:10  profilanswer
 

et?  :heink:  
 
Description de l'erreur?
c'est pas un helpdesk ici hein :o


---------------
Just because you feel good does not make you right
n°288295
gm_superst​ar
Appelez-moi Super
Posté le 17-01-2003 à 12:47:27  profilanswer
 

Ben ton tracker n'est pas connu dans ta fonction paintFrame()...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°289216
R3g
fonctionnaire certifié ITIL
Posté le 18-01-2003 à 20:23:46  profilanswer
 

tracker est défini dans la methode init(), donc il n'existe que dans cette méthode... Ou alors j'ai mal lu.

n°289403
NathalieCo​m
Posté le 19-01-2003 à 13:57:40  profilanswer
 

bien vue !
merci à tous ....


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  java2D avec MediaTracker , erreur difficile , aidez moi SVP !!! merci

 

Sujets relatifs
test de primalité : erreur dans le codejava : je cherche un sit pour apprdre les API merci d'avance
besoin d'un bon tutoriel SVP !!![oracle+unix] comment récupérer un message d'erreur ?
une petite question DOS?! MerciMéssage d'erreur à l'appel d'une fonction...
VC++ MFC Sockets : Erreur que je pige pas ...MSDE... Aidez-moi!
Code d'erreur sous C++ builder ( borland)aidez moi à trouvez où ça coince stp
Plus de sujets relatifs à : java2D avec MediaTracker , erreur difficile , aidez moi SVP !!! merci


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR