0

親がムービークリップ内から子を呼び出しているプロジェクトで、子から親 SWF への通信に苦労しています。

親ムービークリップのアクション レイヤーにこれがあります

var loader:Loader = new Loader();
var defaultSWF:URLRequest = new URLRequest("child.swf");
loader.load(defaultSWF);

//I'm using an if statement to check if the movieclip is loaded to stage

if (loader.parent != null) {
loader.dispatchEvent(new Event(Event.ADDED_TO_STAGE)); 
trace("loader added to stage");  // trace returns positive
loader.content.addEventListener("directions", childLoader_someSignalHandler);
}

//once a button in the child SWF is clicks the playhead will 
//change position on the parent.    
function childLoader_someSignalHandler(event:Event):void {
    gotoAndStop("directions");
}

子 SWF には、親に送信する次のコードがあります。

centre_btn.addEventListener(MouseEvent.MOUSE_DOWN, childBtn_mouseDownHandler);
 // thanks to "Florent" for this code.
function childBtn_mouseDownHandler(event:MouseEvent) {
    dispatchEvent(new Event("directions"));
}

私が返されているエラーは次のとおりです。

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。

4

1 に答える 1

0

子のMovieClipから、親のMCを参照する必要があります。これは次のような方法で実行できると信じています。

MovieClip(root).dispatchEvent(new Event("directions"));
于 2012-08-10T12:51:39.290 に答える