2

我正在使用此代码为按钮加载和卸载外部 swf。当我单击按钮时,swf 加载,当我再次单击按钮时,swf 卸载,但声音仍然存在,只是 swf 屏幕消失了。

请更正此代码,我希望 swf 完全卸载。

printer.addEventListener(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF);

var fl_Loader:Loader;

//This variable keeps track of whether you want to load or unload the SWF
var fl_ToLoad:Boolean = true;

function fl_ClickToLoadUnloadSWF(event:MouseEvent):void
{
    if(fl_ToLoad)
    {
        fl_Loader = new Loader();
        addChild(fl_Loader);
        fl_Loader.load(new URLRequest("quiz.swf"));


printer.x=100;
printer.y=100;
    }
    else

    {       fl_Loader.unloadAndStop();

        removeChild(fl_Loader);
        fl_Loader = null;

printer.x=155;
printer.y=334;
    }
    // Toggle whether you want to load or unload the SWF
    fl_ToLoad = !fl_ToLoad;
} 
4

1 回答 1

0

如果您可以访问加载的 swf 中的代码,则可以添加Event.UNLOAD侦听器。在事件处理程序中,您可以进行一些清理:

  • 停止所有声音,
  • 停止视频,
  • 删除事件监听器(特别是这些附加到Stage

这样,卸载应该是顺利和容易的。

于 2013-02-26T17:04:48.343 回答