Actionscript controler un swf externe

Actionscript controler un swf externe - Flash/ActionScript - Programmation

Marsh Posté le 14-04-2011 à 14:48:16    

Bonjour !
Je viens demander votre aide pour un petit bout de code qui est sûrement très très simple, mais si simple que je ne le trouve pas.
 
Je voudrais simplement contrôler un swf chargé en externe.
J'ai donc chargé mon swf :

Code :
  1. var motsverts:MovieClip=new MovieClip();
  2. var chargeur9:Loader = new Loader();
  3. var adresse9:URLRequest=new URLRequest("motsverts.swf" );
  4. chargeur9.load(adresse9);
  5. addChild(motsverts);
  6. motsverts.addChild(chargeur9);


 
et il se lance donc directement à l'ouverture de mon animation. Je voudrais juste qu'il ne se lance pas automatiquement mais au clic sur un élément. Pour ça j'ai essayé un

Code :
  1. motsverts.stop();


inutile et une fonction stop qui l'arrêterait au début mais sans résultat...
Si ma demande est assez claire quelqu'un aurait il une solution ?
Merci !
 
(je suis en actionscript 3 sur Flash CS4)

Reply

Marsh Posté le 14-04-2011 à 14:48:16   

Reply

Marsh Posté le 14-04-2011 à 15:16:13    

Ca va beaucoup dépendre de la structure de ton swf chargé. Mais en théorie ça devrait marcher.


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

Marsh Posté le 14-04-2011 à 15:20:51    

Je me disais bien aussi que le stop était la façon la plus efficace...
Il doit donc y avoir une erreur dans mon swf...mais je ne vois ce qui cloche...
 
Est-ce parce que lui même est composé de fichiers externes ?

Reply

Marsh Posté le 14-04-2011 à 22:08:28    

Ton stop() tel qu'il est mis s'applique à motsverts, qui n'est que le conteneur du SWF chargé...
De plus, c'est le Loader que tu ajoute dans ton stage, pas l'animation SWF directement...

 

Tu dois donc typer/caster le contenu chargé par le loader comme étant un MovieClip pour le manipuler ainsi (utiliser stop, play, ...).
Il faut donc attendre que le Loader ait fini de charger pour pouvoir manipuler le contenu :

 
Code :
  1. var monClip:MovieClip; // On déclare le movieClip qui contiendra le SWF chargé
  2. var chargeur:Loader = new Loader(); // On déclare/instancie le loader
  3. chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); // On écoute le chargement du loader
  4. chargeur.load(new URLRequest("motsverts.swf" )); // On charge notre SWF
  5.  
  6. function onCompleteHandler(loadEvent:Event)
  7. {
  8.        monClip = MovieClip(loadEvent.currentTarget.content); // On associe monClip au contenu chargé, en le typant MovieClip
  9.        addChild(monClip);//On l'ajoute au stage
  10.        monClip.stop(); // je le manipule comme je veux.
  11. }


Message édité par abais le 14-04-2011 à 22:12:36

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Sujets relatifs:

Leave a Replay

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