我正在寻求有关如何卸载通过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);
}
答案 0 :(得分:0)
要从其父DisplayObject
中删除DisplayObjectContainer
(您的案例中的文字字段),您可以使用removeChild()
方法:
myTextField_txt.parent.removeChild(myTextField_txt);
然后要释放相关的内存,您可以添加:
myTextField_txt = null;
您还可以删除添加到URLLoader
对象的所有事件侦听器,如下所示:
myTextLoader.removeEventListener(Event.COMPLETE, onLoaded);
希望可以提供帮助。