Prob de préloader

Prob de préloader - Flash/ActionScript - Programmation

Marsh Posté le 24-09-2005 à 14:07:15    

Bonjour,
 
J'ai un prob avec mon préloader.Au lieu d'un simple barre de chargement , je voulais un anneau qui apparaissent petit à petit par rapport bytes Loaded.Mais mon préloader joue tout ,et fini bien avant tout le chargement du swf externe. Alors comment synchroniser les deux c'est à dire l'anneau et chargement .J'éspère  avoir été clair .Excusez moi pour mon français ce n'est pas ma langue maternel.
 
vous troveriez mes fichiers sur le link suivant http://geocities.yahoo.com/fileman [...] &dispopts=
 
le petit anneau dont je parle est progress_mc and les texte dynamique (pour montrer % chargé)et static text sont inclus dans le movieclip preloader_mc.
 
p.s: je utilise MovieClipLoader class.


Message édité par a-derm le 24-09-2005 à 15:04:41
Reply

Marsh Posté le 24-09-2005 à 14:07:15   

Reply

Marsh Posté le 24-09-2005 à 16:53:36    

enfait l'anneau a 33 frames en total. Je voulais à chaque pourcentage de chargement le frame bouge de 3 frames.Mais mon prob c'est que il est totalment désynchroniser ..ilya une animation pathétique , aprés un écran blanc ..et eventuallement mon image.

Reply

Marsh Posté le 24-09-2005 à 17:20:10    

d'apres ce que je comprend a chaque pourcentage il devrait plutôt avancé de 1/3 de frame non...
sinon ton code ca ressemble a ca:

Code :
  1. _root.createEmptyMovieClip("load_mc", 1);
  2. var mclListener:Object = new Object();
  3. mclListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
  4.    anneau _mc.gotoAndStop(Math.round(bytesLoaded/bytesTotal*33));
  5. };
  6. var myLoader:MovieClipLoader = new MovieClipLoader();
  7. myLoader.addListener(mclListener);
  8. myLoader.loadClip("trucacharger.swf",load_mc);


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

Marsh Posté le 24-09-2005 à 17:58:34    

merci pour ton réponse but ça ne m'a pas  b.c aidé .C'est anneau réside dans un autre clip "preloader_mc".Et ce preloader_mc est placé dans le timeline principale.
preloader_mc.anneau_mc.gotoAndStop(Math.round(bytesLoaded/bytesTotal*33));  
donne rien.
 
mon code sur preloader_mc  
stop();
var increment = 0;
 
function checkProgress() {
 this.onEnterFrame = function() {
  bytesloaded = _parent.getBytesLoaded();
  bytestotal = _parent.getBytesTotal();
  percentage = (bytesloaded/bytestotal)*100;
  for(i = 0;i<33;i++){
   this.progress_mc._currentframe += increment;
   increment+=1/3;
  };
   
  if (bytesloaded == bytestotal && progress_mc._currentframe == progress_mc._totalframes) {
   trace(increment);
   delete onEnterFrame;
   gotoAndPlay("OUT" );
   trace("loading" +percentage);
    trace(bytestotal);
  }
 };
}
 
j'applle fonction de onLoadProgress écrit en frame 1 de timeline principale.
ce ne marche pas... l'animation est completement foutu ,
 
je sais ce code is foireau car je utilise MovieClip loader class et aprés ce enterframe .. n'importe quoi .. alors ce quoi le bon code ??
Apparament le link ne marche pas  
voilà un autre  http://www.cybamall.com/val/


Message édité par a-derm le 24-09-2005 à 18:01:40
Reply

Marsh Posté le 24-09-2005 à 18:15:22    

<coups de gueule>
deja j'aime pas trops quand je clique sur ton master02.swf et que j'ai une alerte de mon firewall: trojan downloader machin chouette...
En plus t'aurais put commencer par poster ton code on aurait tout de suite vus le niveau de l'interlocuteur:
ta fonction checkprogress() en est le parfait exemple
</coups de gueule>
cf. aussi ma réponse à Monico:
http://forum.hardware.fr/hardwaref [...] m#t1206557


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

Marsh Posté le 24-09-2005 à 18:22:34    

je précise je n'ai pas de problem charger mon swf ... donc loadMovie ,
 ce n'est pas mon pb .Ce que je voulais enfait  savoir synchroniser.Comment fair en sorte que mon anneau suivi le chargement.
 
Désolé pour ne pas donner mon code , je pensais j'étais clair..

Reply

Marsh Posté le 24-09-2005 à 18:23:55    

question de link , c'est bizzare car personne ne m'a rien dit par rapport de  ce alerte. Je vais voir.. merci
 
increment+=3 ; au lieu de 1/3.Je essaye ce truc depuis une semaine.... c'est vrai je debute comme tout le monde


Message édité par a-derm le 24-09-2005 à 18:28:00
Reply

Marsh Posté le 25-09-2005 à 10:12:15    

désolé j'etais un peu vener hier ;-)
pour ton PB il faut vraiment voir du cote des Moviecliploader (le code que je te donne mais tu peut chercher aussi la syntaxe exacte sur Internet)
preloader_mc.anneau_mc.gotoAndStop(Math.round(bytesLoaded/bytesTotal*33));
(au lieu de faire un pourcentage tu fait un pourtrentroisage correspondant a la duree de ton clip)
devrait fonctionner si il se trouve dans le mclListener.onLoadProgress et si tu initialise bien ton chargement:
_root.createEmptyMovieClip("load_mc", 1);
var myLoader:MovieClipLoader = new MovieClipLoader();
myLoader.addListener(mclListener);
myLoader.loadClip("trucacharger.swf",load_mc);
 
a noté que cette syntax est en actionscript2 et necessite donc Flash MX 2004 (ou Flash 8 j'ai pas encore tésté)
 
si tu veut apprendre 2 ou 3 trucs je te conseille yazo.net:
-> par exemple tu as une boucle for dans ta fonction qui ne sert strictement
-> _currentframe n'est disponible qu'en lecture, si tu veut envoyer ta tête de lectureil faut utiliser gotoAndStop() ou gotoAndPlay();
-> tu utilise increment comme une acceleration a la premiere boucle de for il vaudras 1/3 puis 2/3 puis 1 puis 4/3, etc...
-> ton progress_mc est déconnécté de bytesloaded et bytestotal donc ca ne rsique pas de refleter un prechargement
 
c'est en forgeant que gnagnagna....
 
bon courage


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

Marsh Posté le 28-09-2005 à 16:35:16    

bon merci , j'ai trouvé la solution

Reply

Sujets relatifs:

Leave a Replay

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