Masapi 1.5

2 views
Skip to first unread message

Aurélien

unread,
Jul 21, 2009, 8:20:11 AM7/21/09
to masapi
Bonjour Cédric, bonjour tous

J'utilise depuis quelques temps Masapi qui me rend grandement service.
Cependant, aujorud'hui, je me retrouve comfronté à une situation :

J'ai un fichier A.swf qui charge un fichier swf B.swf associée à une
classe de document B.as. A un instant donné, je souhaite dispatché un
event perso de B vers A.

J'ai donc dans ma classe A le code suivant :

_cml = new CompositeMassLoader();
_cml.massLoader.addEventListener(Event.COMPLETE, onComplete);

_dataXMLFile = _cml.addFile(cheminConfigFile, LoadableFileType.TEXT);
_rubActuFile = _cml.addFile(pathToSwf + "actualites.swf");

// Evenement perso de type "toto"
_rubActuFile.addEventListener("toto", toto_handler);

_cml.start();

private function toto_handler(e:Event)
{
trace("Evenement toto !!! " + e);
}

et dans ma classe B.as le code suivant

public class B extends AbstractDocument
{
public override function initializeContext
(loadableFile:ILoadableFile):void
{
super.initializeContext(loadableFile);
this.dispatchEvent(new Event("toto"));
}
}


Le trace de la

Aurélien

unread,
Jul 21, 2009, 8:22:17 AM7/21/09
to masapi
Oups fausse manip :

Le trace de la fonction toto_handler n'est jamais déclenché. Comment
peut-on diffuser nos propres events depuis les swf chargés vers le
root qui a lancé le preload ?

Merci de votre aide

Cédric Tabin

unread,
Jul 21, 2009, 8:25:29 AM7/21/09
to mas...@googlegroups.com
Hello,

Dans ta fonction initializeContext, au lieu de this.dispatchEvent(new Event("toto")); il faut faire loadableFile.dispatchEvent(new Event("toto")); et ça devrait marcher :)

Salutations,
Cédric

Aurélien

unread,
Jul 21, 2009, 8:46:23 AM7/21/09
to masapi
Merci mille fois pour cette réactivité !

On 21 juil, 14:25, Cédric Tabin <tabin.ced...@gmail.com> wrote:
> Hello,
>
> Dans ta fonction initializeContext, au lieu de this.dispatchEvent(new
> Event("toto")); il faut faire loadableFile.dispatchEvent(new Event("toto"));
> et ça devrait marcher :)
>
> Salutations,
> Cédric
>

Aurélien

unread,
Jul 21, 2009, 8:51:17 AM7/21/09
to masapi
Par contre, si je place l'écouteur sur le stage et que j'active le
bubble lors du dispatch ça ne marche pas :(

Dans A.as
this.addEventListener("toto", toto_handler);


Dans B.as
loadableFile.dispatchEvent(new Event("toto", true));


Aurais-tu une idée de ce problème ?

Merci

Cédric Tabin

unread,
Jul 21, 2009, 10:49:30 AM7/21/09
to mas...@googlegroups.com
Hello,

Normal que ca ne bubble pas => un ILoadableFile n'est pas un DisplayObject :) Il n'y a aucune chance pour que ça marche !

Salutations,
Cédric
Reply all
Reply to author
Forward
0 new messages