AS3 PB ciblage entre fichier parent.swf et fichier enfant externe swf

cs_mariemachin Messages postés 5 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 28 janvier 2010 - 28 janv. 2010 à 13:59
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 - 1 févr. 2010 à 15:18
Bonjour,
Je travaille sur un projet flash en as3. J'ai un souci depuis pas mal de temps que je ne parviens pas à résoudre.
Je voudrais communiquer entre un fichier swf parent et un fichier swf enfant (externe). Je pense que j'ai besoin d'infos sur le ciblage. Je vous explique.

J'ai un fichier flash A comprenant plusieurs Frames dans chaque Frame j'appelle un fichier swf externe (Frame1 comprend monfichier1.swf, Frame 2 comprend monfichier2.swf, etc.).
Je voudrais tout simplement (mais apparemment pas si simple que ça pour moi)
parvenir à contrôler ces swf externes, c'est à dire qu'une fois que le swf externe est terminé (dernière image de son dernier clip) que ça passe à la Frame suivante de mon fichier flash A principal.
En gros
Mon fichier flash A (parent)
frame 1 : charge monfichier1.swf,
if (monfichier1.swf est terminé){
gotoAndStop (frame2);
}

ou alors controler depuis le swf externe et dire sur sa dernière image remonte sur le fichier flash A et va sur la frame 2...

Peu importe, le tout c'est que j'arrive à communiquer entre le fichier parent et ses fichiers enfant externes.

Pour info voilà sur la frame 1
comment j'ai procédé pour charger le premier swf :

var url:String = 'clips_rubriques/clip_intro.swf';
var chargerJeux:Loader = new Loader();
var requete:URLRequest = new URLRequest(url);
chargerJeux.load(requete);
addChildAt(chargerJeux,1);
chargerJeux.x = 1;
chargerJeux.y = 68;

Pour la frame 2 :

chargerJeux.unloadAndStop();
var cheminJeu1:URLRequest = new URLRequest("clips_rubriques/clip_relooking.swf");
chargerJeux.load(cheminJeu1);
chargerJeux.x=0;
chargerJeux.y=15;
chargerJeux.scaleX=1;
chargerJeux.scaleY=1;

D'ailleurs, est-ce que c'est la bonne méthode, la plus optimale ?
Merci d'avance pour votre aide...


À force de transformer des bidules en trucs, j'obtiens des machins...

1 réponse

cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
1 févr. 2010 à 15:18
Salut,
je sais pas si j'ai très bien compris, mais lorsque ton fichier externe est chargé il joue, et c'est à la fin de son animation qu'il doit se passer quelque chose...
Si c'est ça, peut-être pourrais tu essayer la chose suivant :
Crée un clip -> var porteur : MovieClip = new MovieClip;
Addchild(porteur);
Ensuite "mets ton loader dans le clip :
porteur.addChildAt(chargerJeux);
Ensuite mets : porteur.addEventListener("fini",lancet);
ou "fini" sera le nom de l'évènement (dont je parlerais après) et lance la fonction qui sera appeler

À la fin de ton animation (swf loadé) met le code :
dispatchEvent(new Event("fini"));

//enfin, dans ton anim principale :
function lance(evt:Event){
trace("hophophop2");
//et les ordre que tu veux lancer à la fin de ton anim
}
J'avais mis une petite source pour essayer d'explique cela. Ce n'est pas avec des anim loadées, mais je pense que le principe est le même.
Bon courage.


Tout vient à qui sait attendre
0