2010-11-06 32 views
0

使用AS3 我在我的代碼中有一個按鈕來停止和刪除SWF,但我想除了卸載一個孩子SWF時,它自動播放它的最後一幀 - 不是使用按鈕。卸載孩子SWF的最後一幀的SWF

這是我在主要時間表上的代碼:

var loader:Loader; var closer:close;

norton_btn.addEventListener(MouseEvent.CLICK,NortonDemo); 函數NortonDemo(e:MouseEvent):void var req:URLRequest = new URLRequest(「norton.swf」); loader = new Loader(); loader.load(req); container_mc.addChild(loader); closer = new close(); closer.x = 415; closer.y = -294; addChild(closer); closer.addEventListener(MouseEvent.CLICK,closeNortonDemo);

}

功能closeNortonDemo(E:MouseEvent)方法:無效 {

closer.removeEventListener(MouseEvent.CLICK,closeNortonDemo); removeChild(closer); container_mc.removeChild(loader); loader.unloadAndStop();

}

///////////////////////////

現在,我有什麼需要添加或更改到此代碼並添加到諾頓演示最後一幀的代碼來完成我想要做的事情?

謝謝!

回答

0

當播放最後一幀時,你需要刪除加載的swf嗎?
我會做這樣yhis:

loader.contentLoaderInfo.addEventListener(Event.INIT, onInit); 
addChild(loader); 
loader.load(new URLRequest("norton.swf")); 

private function onInit(e:Event):void { 
    (loader.getChildAt(0) as MovieClip).addEventListener(Event.ENTER_FRAME, onFrame); 
} 

private function onFrame(e:Event):void { 
    if((loader.getChildAt(0) as MovieClip).totalFrames == (loader.getChildAt(0) as MovieClip).currentFrame){ 
     (loader.getChildAt(0) as MovieClip).removeEventListener(Event.ENTER_FRAME, onFrame);//the only thing that might cause a problem imho 
     loader.removeChildAt(0); 
     loader.unload(); 
    } 
} 
+0

大家好,感謝您的快速反應。嘗試代碼時出現以下錯誤:1013:私有屬性只能用於類屬性定義。 – 2010-11-07 16:43:12

+0

@Mac Dude:已更新 – www0z0k 2010-11-07 17:41:11