Bonjour,
J'ai un pb de communication entre SWF, voici mon code :
Interface commune aux deux SWF :
Dans le swf appelé, la classe principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public interface ItfA { // du code }
Dans le SWF appelant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class MainB extends MovieClip { private var a:Itfa; public function start(_a:ItfA) { a = _a; // etc } }
J'ai le problème suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public A implements ItfA { var mLoader:Loader; [...] public function startLoad() { mLoader = new Loader(); var mRequest:URLRequest = new URLRequest(B.swf); mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler); mLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler); mLoader.load(mRequest); } public function onCompleteHandler(loadEvent:Event) { var mainB = mLoader.content; // ajout au clip principal du swf parent mainClip.addChild(mainB); mainB.start(this); } public function onProgressHandler(mProgress:ProgressEvent) { var percent:Number = mProgress.bytesLoaded/mProgress.bytesTotal; trace(percent); } }
Quand je teste dans l'environnement flash c'est good, quand je teste dans mon navigateur ça pète, il me dit que A n'est pas du type ItfA (TypeError) pour la ligne "mainB.start(this);" => pour lui this n'est pas de type ItfA.
Une idée ?
merci
Partager