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

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  MovieClip, appel de fonctions, nombre de conteneurs, ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

MovieClip, appel de fonctions, nombre de conteneurs, ...

n°1748200
shaftbis
Posté le 18-06-2008 à 14:54:37  profilanswer
 

Bonjour,
 
J'ai une animation dans laquelle je charge plusieurs animations en me basant sur ce tuto ci.
Je procède comme suit :

Code :
  1. var clipLogo:MovieClip = this.createEmptyMovieClip("Logo", 2);
  2. var clipPerso1:MovieClip = this.createEmptyMovieClip("Joueur1", 3);
  3. var clipPerso2:MovieClip = this.createEmptyMovieClip("Joueur2", 4);
  4. var mcl:MovieClipLoader = new MovieClipLoader(); //gestionnaire du chargement
  5. var ecouteurChargement:Object = new Object();
  6. ecouteurChargement.onLoadStart = function(target:MovieClip):Void { trace("start" ); };
  7. ecouteurChargement.onLoadProgress = function(target:MovieClip, loaded:Number, total:Number):Void { trace("progress" ); };
  8. ecouteurChargement.onLoadComplete = function(target:MovieClip):Void { trace("complete" ); };
  9. ecouteurChargement.onLoadInit = function(target:MovieClip):Void {
  10. ...
  11. clipPerso1.gotoAndPlay("etiquette" ); // mouvement défenseur
  12. var strResAttack:string=ManageLife(perso2,perso1,1);
  13. ...
  14. };
  15. ecouteurChargement.onLoadError = function(target:MovieClip, code:String):Void { trace("erreur" ); }
  16. mcl.addListener(ecouteurChargement);
  17. var perso1:Player=new Player();
  18. var perso2:Player=new Player();
  19. var nom:String=perso1.NamePerso;
  20. var nom2:String=perso2.NamePerso;
  21. mcl.loadClip("logoArena.jpg", clipLogo);
  22. mcl.loadClip(nom + ".swf", clipPerso1);
  23. mcl.loadClip(nom2 + ".swf", clipPerso2);


 
Les fonctions appelées dans le onLoadInit sont appelées autant de fois qu'il y a de conteneurs. :(
 
Dans mon cas, si je veux changer une valeur une seule fois, elle le sera trois fois.
 
Quelqu'un saurait comment faire pour mieux gérer mon cas ?
 
Merci :)

mood
Publicité
Posté le 18-06-2008 à 14:54:37  profilanswer
 

n°1748228
Mav_69
Paella Certified
Posté le 18-06-2008 à 15:23:42  profilanswer
 

A vue de nez je dirai que tu utilises le meme MCLoader pour tous
Sauf que dans le onLoadInit tu passe clipPerso1.gotoandPlay (1)
 
Donc a chaque chargement il jouera ca....
 
Passe donc 1 loader par clip ;)


---------------
Mon Topik  -- Mon feed
n°1748234
shaftbis
Posté le 18-06-2008 à 15:30:20  profilanswer
 

Mav_69 a écrit :

A vue de nez je dirai que tu utilises le meme MCLoader pour tous
Sauf que dans le onLoadInit tu passe clipPerso1.gotoandPlay (1)

 

Donc a chaque chargement il jouera ca....

 

Passe donc 1 loader par clip ;)


Je voulais justement éviter de passer par ca, car il faudra que je mettes un "écouteur" pour chaque clip, et entrer dans le onLoadInit qu'une fois tous les clips chargés. Or je ne voyais pas comment dire à onLoadInit d'attendre tous les autres clips


Message édité par shaftbis le 18-06-2008 à 15:32:33
n°1748259
Mav_69
Paella Certified
Posté le 18-06-2008 à 15:41:09  profilanswer
 

Dans ce cas faut passer par un API de MassLoad... le seul que je connaisse a l'heure actuelle est en AS3, de thecaptain.
 
Sinon tu peux feinter... mais ca fait lourdeau ...
 

Code :
  1. var nbrClip:Number = 0 // tu init une variable a 0
  2. // Tu te fait tes ecouteurs pour tout tes clips
  3. // Dans chaque onLoadInit tu mettra
  4. nbrClip++;
  5. // de facon a ce qu'a chaque fin de chargement il s'incremente
  6. // ensuite tu te fais une fonction qui va regarder ce numero
  7. // soit avec un onEnterFrame, soit avec un setInterval
  8. function checkClip()
  9. {
  10. if(nbrClip == 3) // 3 etant le nombre de clip au total
  11. {
  12.   delete this.onEnterFrame;
  13.    clipPerso1.gotoAndPlay("etiquette" ); // mouvement défenseur
  14.    var strResAttack:string=ManageLife(perso2,perso1,1);
  15. }
  16. }
  17. this.onEnterFrame = function(){ checkClip(); }


---------------
Mon Topik  -- Mon feed

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

  MovieClip, appel de fonctions, nombre de conteneurs, ...

 

Sujets relatifs
appel procedure stockée de MySQL avec du javaajouter des paramètres lors de l'appel d'une page php
Problème avec 2 fonctions en meme temps.Fonction définie dans la page et appel dans une iframe
appel de deux fonctions javascript dans un onsubmit[JavaBeans] Créer un javabean avec nombre variable de propriétés
Nombre de taches simultanéesFonctions Javascript : dans un fichier .js ou dans le <head> ?
Appel à accept() bloqué alors que le fd a été retourné par select() 
Plus de sujets relatifs à : MovieClip, appel de fonctions, nombre de conteneurs, ...


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