有没有办法在动作文本加载到Actionscript 3后卸载它?

时间:2015-10-03 18:17:20

标签: actionscript-3

我正在寻求有关如何卸载通过Actionscript 3.0中的文本文件动态加载的文本的帮助。

我已经设法将数据加载到我的舞台上,但我希望当用户点击后退按钮回家时,数据会消失。此时,即使您点击后退按钮(其实例是下面代码中的page3home),数据仍然会出现。

以下是我的代码:

import flash.display.Loader;

var myTextLoader:URLLoader = new URLLoader();
var myTextField_txt:TextField = new TextField();
var myTextUnloader:Loader=new Loader();
var textStyle:TextFormat = new TextFormat();
textStyle.font = "Verdana";
textStyle.size = 14;
myTextField_txt.wordWrap=true;
myTextField_txt.autoSize=TextFieldAutoSize.LEFT;
myTextField_txt.multiline = true;
myTextField_txt.width = 480; 
myTextField_txt.height = 300; 
myTextField_txt.x = 50; 
myTextField_txt.y = 80;

myTextLoader.addEventListener(Event.COMPLETE, onLoaded);

function onLoaded(e:Event):void {
myTextField_txt.text = e.target.data;
addChild(myTextField_txt);
     myTextField_txt.setTextFormat(textStyle); 
}

myTextLoader.load(new URLRequest("myText.txt"));

up_btn.addEventListener(MouseEvent.CLICK, scrollUp);

function scrollUp(e:MouseEvent):void 
{
     myTextField_txt.scrollV--;
}

down_btn.addEventListener(MouseEvent.CLICK, scrollDown);

function scrollDown(e:MouseEvent):void 
{
     myTextField_txt.scrollV++;
}


page3home.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame_11);

function fl_ClickToGoToAndStopAtFrame_11(event:MouseEvent):void
{
    gotoAndStop(1);

}

1 个答案:

答案 0 :(得分:0)

要从其父DisplayObject中删除DisplayObjectContainer(您的案例中的文字字段),您可以使用removeChild()方法:

myTextField_txt.parent.removeChild(myTextField_txt);

然后要释放相关的内存,您可以添加:

myTextField_txt = null;

您还可以删除添加到URLLoader对象的所有事件侦听器,如下所示:

myTextLoader.removeEventListener(Event.COMPLETE, onLoaded);

希望可以提供帮助。