[Flash8]composant progressbar

composant progressbar [Flash8] - Flash/ActionScript - Programmation

Marsh Posté le 01-02-2006 à 16:31:03    

je cherche un peu d aide pour faire un progressbar pour charger mes images à partir d'un xml  
mais je sais pas comment faire pour afficher les pourcentage
 
http://img86.imageshack.us/img86/6353/untitled2copy9rw.th.jpg
 

Code :
  1. // Chargement XML et initialisation
  2. galerie_xml = new XML();
  3. galerie_xml.ignoreWhite = true;
  4. galerie_xml.onLoad = function(ok) {
  5. //initialisation des variables
  6. if (ok) {
  7.  noeuds = galerie_xml.firstChild.childNodes;
  8.  // on se positionne au second niveau
  9.  nbrPhotos = noeuds.length;
  10.  // on récupère le nombre de noeuds à ce niveau
  11.  premierePhoto = this.firstChild.firstChild;
  12.  // on sélectionne le premier noeud
  13.  dernierePhoto = this.firstChild.lastChild;
  14.  // on sélectionne le dernier noeud
  15.  enCours = premierePhoto;
  16.  // enCours correspond au noeud en cours d'affichage
  17.  // ici, la premiere photo sera donc la premiere affichée
  18.  affichePhoto(enCours);
  19.  // on affiche la photo du premier noeud
  20. }
  21. };
  22. galerie_xml.load("galerie.xml" );
  23. //
  24. // affichage de la photo
  25. //
  26. function affichePhoto(photo) {
  27. // Création du conteneur
  28. var mon_mcl:MovieClipLoader = new MovieClipLoader();
  29. // La fameuse classe qui n'existe pas ds Flash MX
  30. monEcouteur1 = new Object();
  31. // Création de l'écouteur qui va 'guetter' l'état de chargement de la photo
  32. // Le dimensionnement / positionnement se fait ds la fonction 'onLoadInit'
  33. monEcouteur1.onLoadInit = function(cible) {
  34.  cible._height = 137;
  35.  cible._width = 106;
  36.  //cible._x = 30;
  37.  //cible._y = 100;
  38. };
  39. // Load an image into the Loader.
  40. monEcouteur1.onLoadComplete = function(cible) {
  41.  play();
  42.  // on redémarre dès que la photo est chargée
  43. };
  44. mon_mcl.addListener(monEcouteur1);
  45. mon_mcl.loadClip(photo.attributes.fichier, conteneur);
  46. // On arrête ici la lecture tant que la photo n'est pas chargée
  47. stop();
  48. textes = photo.attributes.num+"/"+nbrPhotos+" : "+photo.attributes.desc;
  49. }


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 01-02-2006 à 16:31:03   

Reply

Marsh Posté le 01-02-2006 à 17:35:31    

la mcl a un ecouteur onLoad (ou ondata je sais plus) qui est fait pour ca, cherhce dans l'aide tu y trouveras un exemple...


---------------
D3
Reply

Marsh Posté le 01-02-2006 à 17:44:39    

j ai rajouté ça  
 

Code :
  1. p_barG.source = conteneur;


 
mais ça passe de 0% à 100% je sais qu il y a un truc get.... pour que ça fasse % par %


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 01-02-2006 à 17:48:06    

jamais utilisé de progressbar  [:airforceone]  cherche dans la doc du bouzin...


---------------
D3
Reply

Marsh Posté le 01-02-2006 à 18:43:39    

oki merci quand meme ;)


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 02-02-2006 à 12:11:03    

:bounce: ça fait un moment que je cherche comment l utiliser mais je vois toujours pas  
un peu d aide serait la bienvenue


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 02-02-2006 à 12:24:24    

http://livedocs.macromedia.com/fla [...] 03895.html
apparament il faut aussi un composant loader...


---------------
D3
Reply

Marsh Posté le 02-02-2006 à 15:42:28    

je l ai mon composant il s appelle "conteneur"
 
j'arrive à faire de 0% => direct 100% une fois l image loader  
http://s500.free.fr/pires/sommaire-fr.html


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 02-02-2006 à 16:09:06    

parcque tu as le fichier dans ton cache, vide le et tu veras que le loading s'affiche (du moins chez moi), par contre j'ai rien dans la fenetre realisation...


Message édité par mechkurt le 02-02-2006 à 16:09:15

---------------
D3
Reply

Marsh Posté le 02-02-2006 à 16:13:55    

tu es sur ? tout marche chez moi


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 02-02-2006 à 16:13:55   

Reply

Marsh Posté le 02-02-2006 à 17:11:38    

ayez c'est bon !


---------------
D3
Reply

Marsh Posté le 02-02-2006 à 18:25:04    

merci mechkurt


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 06-02-2006 à 15:22:45    

j ai une autre question je voudrais faire un progressbar sur la frame 1 pendant que ça charge la frame 2  
 
http://img85.imageshack.us/img85/4126/untitled2copy2qb.th.jpg
 
=>
 
http://img85.imageshack.us/img85/663/untitled2copy4oa.th.jpg
 
avec ce genre de code :
 

Code :
  1. if (_framesloaded>=_totalframes) {
  2.         gotoAndPlay (2);
  3. } else {
  4.         gotoAndPlay (1);
  5. }

Message cité 1 fois
Message édité par sakuraba le 06-02-2006 à 15:24:41

---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 06-02-2006 à 15:34:37    

framesloaded et totalframes c'est de la merde en barre, il vaux mieux se baser sur bytesloaded et bytestotal (en verifiant que bytestotal est superieur à un chiffre peu eleve)
bon le preloading c'est un peu courant comme sujet quand il s'agit de Flash...
 [:alkatraz]  c'est pas fait pour les #$£!?& !
le mieux c'est encore de faire un load.swf avec 10 ligne de codes et le minimum de graph possible et qui charge ton anim principale...


---------------
D3
Reply

Marsh Posté le 06-02-2006 à 15:42:49    

justement avec google je trouve des trucs mais impossible de faire la meme chose, les tutos je comprends pas  
 
je suis un gros debutant, tu aurais pas un livre nickel à acheter ( style bien complet et facile ?)


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 06-02-2006 à 16:22:08    

le mec de yazo.net vend un bouquin, si il est a la hauteur du site, il doit etre simple et complet...


---------------
D3
Reply

Marsh Posté le 06-02-2006 à 17:03:14    

ok merci


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 07-02-2006 à 15:30:58    

sakuraba a écrit :

j ai une autre question je voudrais faire un progressbar sur la frame 1 pendant que ça charge la frame 2  
 
http://img85.imageshack.us/img85/4 [...] 2qb.th.jpg
 
=>
 
http://img85.imageshack.us/img85/6 [...] 4oa.th.jpg
 
avec ce genre de code :
 

Code :
  1. if (_framesloaded>=_totalframes) {
  2.         gotoAndPlay (2);
  3. } else {
  4.         gotoAndPlay (1);
  5. }



 
j'ai toujours le même probleme  
comment utiliser progressbar pour charger l image 2 ?


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 07-02-2006 à 17:21:52    

j en suis là  
ça boucle sans cesse comment on arrete ça ?  
http://s500.free.fr/pires/sommaire-fr.html


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 07-02-2006 à 17:33:21    

mechkurt a écrit :

framesloaded et totalframes c'est de la merde en barre, il vaux mieux se baser sur bytesloaded et bytestotal (en verifiant que bytestotal est superieur à un chiffre peu eleve)
bon le preloading c'est un peu courant comme sujet quand il s'agit de Flash...
 [:alkatraz]  c'est pas fait pour les #$£!?& !
le mieux c'est encore de faire un load.swf avec 10 ligne de codes et le minimum de graph possible et qui charge ton anim principale...


 
j'ai toujours la même solution  [:al zheimer]  
 
non en fait tu peux aussi aller chercher dans la doc, tu trouves que le composant progressbar il accepte qu'on lui donne un parametre externe avec ProgressBar.setProgress();
tu prends l'exemple donné en oubliant pas de changer ce qu'il faut avec un savant calcul a base de _root.bytesLoaded() et de _root.bytesTotal()...
 
PS: Si Flash te prend trops la tête, je peux sous-traiter tous ce qui te gave, je suis en Freelance... [:azitwaz]


---------------
D3
Reply

Marsh Posté le 07-02-2006 à 19:19:18    

en faite il boucle ça me gave je vais mettre des trace pour trouver tout seul  
merci pour ta proposition mais je cherche à apprendre ;)


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 07-02-2006 à 19:50:17    

[:airforceone]  
gotoAndStop() ?


---------------
D3
Reply

Marsh Posté le 08-02-2006 à 09:51:33    

image 1  

Code :
  1. stop();
  2. var poidsAnimation = this.getBytesTotal();
  3. _root.onEnterFrame = function() {
  4. chargeEnCours = _root.getBytesLoaded();
  5. partChargement = Math.ceil((chargeEnCours/poidsAnimation)*100);
  6. affichageChargement = partChargement+" %";
  7. jaujeDeChargement._xscale = partChargement;
  8. if (partChargement == 100) {
  9.  delete _root.onEnterFrame;
  10.  gotoAndStop(2);
  11. }
  12. };


 
image 2

Code :
  1. le reste de mon code


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 08-02-2006 à 09:55:35    

tu est sur la bonne voie, le PB etant que:
var poidsAnimation = this.getBytesTotal();
peut ne pas renvoyer le poids correct de l'animation (surtout au debut), je te conseille de le laisser dans la boucle et de tester si il est superieur a 4 (par ex.) sinon affiche 0% (l'anim est en train de calculer le poids total...)


---------------
D3
Reply

Marsh Posté le 08-02-2006 à 10:15:04    

je suis pas que le this.getBytesTotal(); soit pertinent car this renvoie mon image 1 non ?
 
alors que je veux calculer le poids de l image 2


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 08-02-2006 à 10:28:31    

voila j ai amelioré le code en mettant en kb
on voit qu'il trouve un poids de 197kb mais je sais pas si c'est le poids de l'image 1 ou de l'image 2  
 
 

Code :
  1. trace("Demarre le preloader image 1" );
  2. stop();
  3. var poidsAnimation = this.getBytesTotal();
  4. _root.onEnterFrame = function() {
  5. chargeEnCours = _root.getBytesLoaded();
  6. partChargement = Math.ceil((chargeEnCours/poidsAnimation)*100);
  7. affichageChargement = Math.ceil((chargeEnCours)/1024)+" / "+Math.ceil((poidsAnimation)/1024)+"Kb";
  8. //partChargement+" %";
  9. jaujeDeChargement._xscale = partChargement;
  10. if (partChargement == 100) {
  11.  delete _root.onEnterFrame;
  12.  gotoAndStop(2);
  13. }
  14. };
  15. trace("fin le preloader image 1" );


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 08-02-2006 à 10:30:32    

lorsque je fais un fichier de log j'obtiens
 

Code :
  1. Image #    Image octets    Total octets    Séquence
  2. -------    ------------    ------------    -------------------
  3.       1          55415          55415    Séquence 1 (Image d'exportation des classes AS 2.0)
  4.       2           2899          58314


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 08-02-2006 à 10:57:58    

en faite j'ai mit des trace et j ai remarqué que ça boucle au niveau de onload  

Code :
  1. trace("Demarre le preloader image 1" );
  2. stop();
  3. var poidsAnimation = this.getBytesTotal();
  4. _root.onEnterFrame = function() {
  5. chargeEnCours = _root.getBytesLoaded();
  6. partChargement = Math.ceil((chargeEnCours/poidsAnimation)*100);
  7. affichageChargement = Math.ceil((chargeEnCours)/1024)+" / "+Math.ceil((poidsAnimation)/1024)+"Ko";
  8. //partChargement+" %";
  9. jaujeDeChargement._xscale = partChargement;
  10. trace("onload" );
  11. poidsAnimation.onLoad = function(success:Boolean) {
  12.  if (success) {
  13.   trace("chargement réussi" );
  14.  } else {
  15.   trace("chargement echoué" );
  16.  }
  17. };
  18. };
  19. trace("gotoAndStop(2);" );
  20. gotoAndStop(2);
  21. trace("fin le preloader image 1" );


 
donc il arrive pas à recup le poids je pense non ?


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 08-02-2006 à 13:22:59    

mechkurt a écrit :

tu est sur la bonne voie, le PB etant que:
var poidsAnimation = this.getBytesTotal();
peut ne pas renvoyer le poids correct de l'animation (surtout au debut), je te conseille de le laisser dans la boucle et de tester si il est superieur a 4 (par ex.) sinon affiche 0% (l'anim est en train de calculer le poids total...)


 
this c'est le timeline en cours mais tu peux le remplacer sans probleme par _root
je t'avais dit de calculer dans la boucle le poids total car il change!


Message édité par mechkurt le 08-02-2006 à 13:23:12

---------------
D3
Reply

Marsh Posté le 08-02-2006 à 14:26:39    

je comprends pas trop là :(


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 08-02-2006 à 17:16:01    

j'avais pas regardé ton dernier essai, effecivement le onLoad (de this.getBytes Total qui plus est) dans un onEnterFrame, c'est  :heink:  !
tu peux seulement virer cette portion de code, par contre le reste devrait fonctionner si tu suit mes conseils...


---------------
D3
Reply

Marsh Posté le 08-02-2006 à 18:26:43    

oki


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed