LoadClip s nombreux & flash qui plante

LoadClip s nombreux & flash qui plante - Flash/ActionScript - Programmation

Marsh Posté le 01-10-2007 à 21:54:18    

Hello
 
Mon anim plante, dans les navigateurs uniquement, visiblement sur le code présenté ci-après :o
 
Dans ce code, qui est exécuté juste après le preload de l'anim, je loade plein de vignettes dans des movieclips.
 
Si vous voulez voir le truc planter, c'est ici, mais attention ça freeze le navigateur ! -> http://cairaplusvite.free.fr/Guch/neil
 
Voila le code pas très beau :

Code :
  1. var nbPicsInRub:Array = Array(0, 0, 0, 0);
  2.  
  3. var configVars = new LoadVars();
  4. configVars.load("img_site/images.txt" );
  5. configVars.onLoad = function() {
  6.     _root.nbPicsInRub[0] = this.rub0;
  7.     _root.nbPicsInRub[1] = this.rub1;
  8.     _root.nbPicsInRub[2] = this.rub2;
  9.     for (var nr=0; nr<3; nr++)
  10.         for (var ni=1; ni<=_root.nbPicsInRub[nr]; ni++)
  11.             addImageVignette(nr, ni);
  12. }
  13.  
  14. var cpt=0;
  15.  
  16. var aVignetteMCL = new Array();//new MovieClipLoader();
  17. var avMCListen = new Array();//new Object();
  18.  
  19. var printopen=0;
  20. var multiopen=0;
  21. var persoopen=0;
  22. var contactopen=0;
  23.  
  24. var menuItemAct = -1;
  25. var selectedVignette = -1;
  26. var tailleVignettesW = 38;
  27. var tailleVignettesH = 38;
  28. var posVignettesX = 102;
  29. var posVignettesY = 20;
  30. var nbVignettesByRow = 20;
  31. var betweenVignettesX = 35;
  32. var betweenVignettesY = 35;
  33. var imgVignettesOffsetX = -6;
  34. var imgVignettesOffsetY = -6;
  35. var timeBetweenVignettes = 40;
  36. var nomrub:Array = Array('print', 'multi', 'perso', 'contact');
  37. var vignettesMC:Array = new Array();
  38.  
  39. function deuxChiffres(num) {
  40.     if (num<10) return '0'+num;
  41.     else return num;
  42. }
  43.  
  44. //crea images vignettes
  45. function addImageVignette(rub, num) {
  46.     nom_img = "vignette_img_"+_root.nomrub[rub]+"_"+num;
  47.     _root.createEmptyMovieClip(nom_img, _root.getNextHighestDepth());
  48.     len = _root.aVignetteMCL.push(new MovieClipLoader());
  49.     mcl = _root.aVignetteMCL[len - 1];
  50.     len = _root.avMCListen.push(new Object());
  51.     lis = _root.avMCListen[len - 1];
  52.     
  53.     lis.onLoadInit = function(cible) {
  54.         var tab = cible._name.split('_');
  55.         cible.numVignette = tab[tab.length-1] - 1;
  56.         num = cible.numVignette;
  57.     
  58.         if (num <= _root.nbVignettesByRow) {
  59.             vgX = num;
  60.             vgY = 0;
  61.         }
  62.         else {
  63.             vgX = num - _root.nbVignettesByRow - 1;
  64.             vgY = 1;
  65.         }
  66.         
  67.         vX = _root.posVignettesX + vgX*_root.betweenVignettesX + _root.imgVignettesOffsetX;
  68.         vY = _root.posVignettesY + vgY*_root.betweenVignettesY + _root.imgVignettesOffsetY;
  69.         vW = _root.tailleVignettesW;
  70.         vH = _root.tailleVignettesH;
  71.         
  72.         cible._x = vX;
  73.         cible._y = vY;
  74.         cible._visible = false;
  75.         trace('#');
  76.     }
  77.     lis.onLoadProgress = function() {
  78.         // DEBUG
  79.         _root.tracetxtmc.text = _root.tracetxtmc.text + '#';
  80.         trace('.');
  81.     }
  82.     
  83.     mcl.addListener(lis);
  84.     mcl.loadClip('img_site/vignettes_'+nomrub[rub]+'/'+deuxChiffres(num)+'.jpg', _root[nom_img]);
  85. }
  86. stop();


 
Des idées ? :/


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 01-10-2007 à 21:54:18   

Reply

Marsh Posté le 02-10-2007 à 03:05:26    

C'est ici que ca plante  

Code :
  1. for (var nr=0; nr<3; nr++)
  2.             for (var ni=1; ni<=_root.nbPicsInRub[nr]; ni++)
  3.                 addImageVignette(nr, ni);


 
Essaie ca et tu veras par toi même :

Code :
  1. for (var nr=0; nr<3; nr++){
  2.             trace(_root.nbPicsInRub[nr])
  3. }


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 02-10-2007 à 10:18:25    

Pas moyen d'écrire quoique ce soit dans un champ texte pour simuler le trace...
 
Je suppose que tu veux dire qu'il n'arrive pas à bien lire les variables de mon fichier ?
 
J'ai supprimé un retour à la ligne superflu dans "img_site/images.txt" mais toujours pareil...


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 02-10-2007 à 10:48:45    

Bon ben j'ai mis les variables en dur dans mon Actionscript... :/
On va dire que ça marche. Merci.

 

Maintenant, autre problème, je me permet de pas faire un nouveau topic.
Chaque clic sur une vignette provoque le load d'une grande image, avec une barre de préchargement.
Parfois j'ai le comportement normal : fraction de seconde d'attente, puis barre de préchargement pendant 5 sec, puis affichage de l'image.
Mais souvent j'ai ce comportement : j'attends 5 secondes ou plus (le temps de chargement de l'image en gros), puis j'ai une barre de préchargement pendant une fraction de seconde, puis l'image s'affiche. Et ça, c'est chiant [:petrus75]

 

C'est un problème connu ou il faudrait moin code ?


Message édité par theredled le 02-10-2007 à 10:49:37

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Sujets relatifs:

Leave a Replay

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