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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  MovieClipLoader et setInterval

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MovieClipLoader et setInterval

n°1338244
olimann
Posté le 03-04-2006 à 22:08:49  profilanswer
 

:) Salut
 
Voici une  base de code pour une galerie "thumbnail" via un fichier XML.
Ce que je cherche a faire c’est de charger mes images une par une.  
 
J’ai vu que je pouvais utiliser un "setInterval"  
Mais apparemment on me dit qu’avec un "MovieClipLoader" c’est plus simple ?
Si c’est vrai !! comment procède t’on ?
 

Code :
  1. function loadXML(loaded) {
  2. if (loaded) {
  3.  xmlNode = this.firstChild;
  4.  description = [];
  5.  thumbnails = [];
  6.  total = xmlNode.childNodes.length;
  7.  for (j=0; j<total; j++) {
  8.   description[j] = xmlNode.childNodes[j].childNodes[0].firstChild.nodeValue;
  9.   thumbnails[j] = xmlNode.childNodes[j].childNodes[1].firstChild.nodeValue;
  10.   thumbnails_fn(j);
  11.  }
  12.  firstImage();
  13. } else {
  14.  content = "fichier non chargé!";
  15. }
  16. }
  17. xmlData = new XML();
  18. xmlData.ignoreWhite = true;
  19. xmlData.onLoad = loadXML;
  20. xmlData.load("images_V2.xml" );
  21. //*****************************************************************
  22. function firstImage() {
  23.  cntner_img.loadMovie(thumbnails[0], 1);
  24.  desc_txt.text = description[0];
  25. }
  26. //*****************************************************************  
  27. _root.createEmptyMovieClip("cntner_img", 1);
  28.  cntner_img._y = 30;
  29.  cntner_img._x = 30;
  30. //*****************************************************************  
  31. _root.createEmptyMovieClip("thumbs_all", 2);
  32.  thumbs_all._y = 30;
  33.  thumbs_all._x = 400;  
  34. function thumbnails_fn(i) {  
  35. trace("makeButtons  : i = "+i);  
  36.  Mc_clip = thumbs_all.attachMovie("thumb_bout", "thumb_bout"+i, 100+i);
  37.  Mc_clip._x = i%3*120;
  38.  Mc_clip._y = Math.floor(i/3)*120;  
  39.  McLoader = Mc_clip.createEmptyMovieClip("loader_Bar", 1000+i);  
  40.  
  41.  my_listener = new Object();
  42.  
  43. my_listener.onLoadProgress = function(mc:MovieClip, loadedBytes:Number, totalBytes:Number) {
  44.  pourcent_txt.text = Math.round((loadedBytes/totalBytes) * 100)+ "%";  
  45. };
  46. my_listener.onLoadInit = function(target_mc) {    
  47. target_mc.onRelease = function() {
  48.  cntner_img.loadMovie(thumbnails[i], 1);
  49.  desc_txt.text = description[i];
  50. };
  51. };
  52. //*****************************************************************  
  53. my_McLoader = new MovieClipLoader();
  54. my_McLoader.addListener(my_listener);
  55. my_McLoader.loadClip(thumbnails[i], McLoader);  
  56. }


 :) Merci


Message édité par olimann le 03-04-2006 à 22:10:57
mood
Publicité
Posté le 03-04-2006 à 22:08:49  profilanswer
 

n°1338392
mechkurt
Posté le 04-04-2006 à 09:41:33  profilanswer
 

setInterval = moyen d'executer une action (n'importe laquelle) toutes les x millisecondes
 
Moviecliploader = moyen de charger une image ou un swf (ne se trouvant pas dans la bibliotheque) dans un clip conteneur sur la scene
 
dans l'absolue y a de grande chance que tu est besoin des deux (bien que tu puisse remplacer le setInterval par un onEnterFrame un peu moins compliqué a utiliser), vas voir la doc pour bien comprendre l'utilisation de ces 2 classes....


---------------
D3
n°1338597
romdr
Posté le 04-04-2006 à 12:26:13  profilanswer
 

Bah on t as dis d utiliser un moviecliploader car il a des methodes qui permettent de gerer la progression du loading donc une fois que ton image est fini de charger tu passes a l autre...

n°1339339
olimann
Posté le 05-04-2006 à 01:06:36  profilanswer
 

:) Merci pour votre intérêt !!
 
J’ai commencé une refonte du code mais ce n’est pas très probant.
Le chargement se fait progressivement mais la trace sort un certain nombre de "i = 0" avant de trouver la première image.  :??: Apparemment ma fonction "makeButtons" ne fonctionne pas correctement.
 

Code :
  1. function loadXML(loaded) {
  2. if (loaded) {
  3.  xmlNode = this.firstChild;
  4.  description = [];
  5.  thumbnails = [];
  6.  total = xmlNode.childNodes.length;
  7.  for (j=0; j<total; j++) {
  8.   description[j] = xmlNode.childNodes[j].childNodes[0].firstChild.nodeValue;
  9.   thumbnails[j] = xmlNode.childNodes[j].childNodes[1].firstChild.nodeValue;
  10.   makeButtons();
  11.  }
  12. } else {
  13.  content = "fichier non chargé!";
  14. }
  15. }
  16. xmlData = new XML();
  17. xmlData.ignoreWhite = true;
  18. xmlData.onLoad = loadXML;
  19. xmlData.load("images_V2.xml" );
  20. //*****************************************************************  
  21. _root.createEmptyMovieClip("cntner_img", 1);
  22. cntner_img._y = 30;
  23. cntner_img._x = 30;
  24. //
  25. _root.createEmptyMovieClip("thumbs_all", 2);
  26. thumbs_all._y = 30;
  27. thumbs_all._x = 400;
  28. //*****************************************************************  
  29. var i= 0;
  30. var imgLoader = new MovieClipLoader();
  31.  
  32. imgLoader.onLoadProgress = function (targetMC, loadedBytes, totalBytes){
  33. Mc_clip.pourcent_txt.text = Math.round((loadedBytes/totalBytes) * 100)+ "%";
  34. }
  35. imgLoader.onLoadInit  = function (targetMC){
  36. Container_Img.onRelease = function() {
  37. cntner_img.loadMovie(thumbnails[i], 1);
  38. };  
  39.  i++;
  40.  makeButtons();
  41. };  
  42. function makeButtons() {  
  43. trace("makeButtons  : i = "+i);  
  44. if(i <= total){
  45.  Mc_clip = thumbs_all.attachMovie("thumb_bout", "thumb_bout"+i, 100+i);
  46.  Mc_clip._x = i%3*120;
  47.  Mc_clip._y = Math.floor(i/3)*120;
  48.  Container_Img = Mc_clip.createEmptyMovieClip("loader_Bar", 1000+i);
  49.  imgLoader.loadClip(thumbnails[i], Container_Img);
  50. }  
  51. }

:) Merci


Message édité par olimann le 05-04-2006 à 01:11:24

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  MovieClipLoader et setInterval

 

Sujets relatifs
PB avec la classe MovieClipLoaderBesoin d'aide sur setInterval et javascript orienté objet...
setInterval[JS] SetInterval et variables globales
Probleme avec un setInterval[Flash/ActionScript] Setinterval + transition = marche pas?
pb script Expert: prototype setInterval[js] pb de reference objet avec setInterval
[JavaScript]A par setInterval et setTimeout, existe t'il d'autre ....[javascript] vider un "setInterval"
Plus de sujets relatifs à : MovieClipLoader et setInterval


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