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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  deux movieClipLoader simultanés

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

deux movieClipLoader simultanés

n°1589224
freed102
Arayashiki
Posté le 20-07-2007 à 11:00:45  profilanswer
 

bonjour à tous,
 
J'ai bien l'impression que l'on ne peut pas faire deux movieClipLoader en même temps...  
 
par exemple j'ai créé une fonction loadInClip, quand je l'execute sur un clip ça marche tres bien...
 
quand je l'execute sur deux clip, je vois ma barre de progression du premier clip qui a l'air de réagir pour les deux à la fois, et le second il boucle...
 
en résumé, voici mon code :
 

Code :
  1. // ActionScript Remote Document
  2. function loadInClip(clip,photo)
  3. {
  4. var mcLoader:MovieClipLoader = new MovieClipLoader();
  5. var mcListener:Object = new Object();
  6. mcListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number){
  7. xpourcent=bytesLoaded*100/bytesTotal;
  8. ////////trace("pourcent : "+Math.round(xpourcent));
  9. var thisTextField:TextField=loader.infos;
  10. thisTextField.antiAliasType = "advanced";
  11. thisTextField.embedFonts = true;
  12. thisTextField.gridFitType = "pixel";
  13. thisTextField.multiline = true;
  14. //thisTextField.styleSheet=styleObj;
  15. if(photo=="./" )
  16. {
  17. xpourcent=0;
  18. }
  19. thisTextField.htmlText = Math.round(xpourcent)+"%";
  20. thisTextField.wordWrap = true;
  21. loader.gotoAndStop(Math.round(xpourcent));
  22. }
  23. mcListener.onLoadInit = function(target_mc:MovieClip){
  24. //d'abord, je rentre la largeur et la hauteur de l'image original dans des variables intermédiaires:
  25. largeur = clip._width;
  26. hauteur = clip._height;
  27. clip._x=0;
  28. clip._y=0;
  29. //pour voir le changement, ca ne sert qu'à vérifier son code et ca n'apparait que dans flash.
  30. trace("after load width : "+largeur);
  31. trace("after load height : "+hauteur);
  32. //on teste pour savoir si l'image et plus haute ou plus large.
  33.  if (largeur >= hauteur )
  34.  {
  35.   ratio=hauteur/largeur;
  36.  //si elle est plus haute, on défini la valeur _height à 300 (valeur maximal du cadre dans le quel doit rentrer l'image)
  37.  if(largeur>parentClip.Mask._width)
  38.  {
  39.  clip._width = parentClip.Mask._width;
  40.  clip._height= clip._width*ratio;
  41.  if(clip._height>parentClip.Mask._height)
  42.  {
  43.   ratio=largeur/hauteur;
  44.  ////trace("here" )
  45.  clip._height= parentClip.Mask._height;
  46.  clip._width = clip._height*ratio;
  47.  }
  48.  }
  49.  }
  50. if (largeur < hauteur )
  51. {
  52.  ratio=largeur/hauteur;
  53.  //si elle est plus large, on défini la valeur _width à 200 (valeur maximal du cadre dans le quel doit rentrer l'image)
  54.  if(largeur>parentClip.Mask._width)
  55.   {
  56.   clip._height=parentClip.Mask._height;
  57.   clip._width =clip._height*ratio;
  58.  trace("plus haute" )
  59.   }
  60.  if(clip._width>parentClip.Mask._width)
  61.  {
  62.  ratio=hauteur/largeur;
  63.  clip._width= parentClip.Mask._width;
  64.  clip._height = clip._width*ratio;
  65.  }
  66. }
  67. if(largeur!=parentClip.Mask._width)
  68. {
  69. clip._x=(clip.Mask._width/2)-(clip._width/2);
  70. }
  71. if(hauteur!=clip.Mask._height)
  72. {
  73. clip._y=(clip.Mask._height/2)-(clip._height/2);
  74. }
  75. _global.lastDiapowidth=clip._width;
  76. _global.lastDiapoheight=clip._height;
  77. _global.lastDiapo_x=clip._x;
  78. _global.lastDiapo_y=clip._y;
  79. blink._width=clip._width;
  80. blink._height=clip._height;
  81. blink._x=clip._x;
  82. blink._y=clip._y;
  83. blink._alpha=100;
  84. }
  85.  mcLoader.addListener(this["mcListener"+loaderid]);
  86.  mcLoader.loadClip(""+photo+"", clip);
  87.  }
  88. }

mood
Publicité
Posté le 20-07-2007 à 11:00:45  profilanswer
 

n°1589456
Zedlefou
In cabbage we trust !
Posté le 20-07-2007 à 15:48:53  profilanswer
 

C'est parce que tu utilises la même référence McLoader.
J'ais abordé le probléme ici
http://forum.hardware.fr/hfr/Progr [...] 3389_1.htm
 
En gros il faut que soit tu transformes ton code en class. Soit que tu changes le nom de tes références à chaque fois que tu lances la fonction.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
n°1589462
freed102
Arayashiki
Posté le 20-07-2007 à 15:53:40  profilanswer
 

J'imaginais bien que c t un probleme de ce genre... d'ailleurs j'avais essayé de remplacer mes
 
 var mcLoader:MovieClipLoader = new MovieClipLoader();
 
par  
 
 this['mcLoader'+id]=new MovieClipLoader();
 
... histoire de ne pas avoir les mêmes reférences... mais ça n'a pas changé mon probleme...


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

  deux movieClipLoader simultanés

 

Sujets relatifs
MovieClipLoader : chargement swf et recup contenu[boost::thread] Comment limiter le nombre de threads simultanés
movieClipLoader : onLoadProgress est chiantMovieClipLoader et setInterval
PB avec la classe MovieClipLoader 
Plus de sujets relatifs à : deux movieClipLoader simultanés


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)