Actionscript 3 如何在AS3.0中单击任何其他按钮时删除多媒体资料呼叫?

Actionscript 3 如何在AS3.0中单击任何其他按钮时删除多媒体资料呼叫?,actionscript-3,events,layer,photo-gallery,Actionscript 3,Events,Layer,Photo Gallery,所以我有一个带有2个外部类的照片库,这个代码是调用这些类来导入图片库并使其工作的时间线代码。 到目前为止还不错,当我想将此照片库放入媒体演示文稿、网站或具有超过1层的内容时,问题就开始了。调用后,该照片库会停留在那里,每次我带着代码返回该帧时,都会增加更多的照片库 所以我想知道是否有可能创建一些简单的代码来添加到其中,比如说,如果我不在第13帧上,就删除库,或者如果我不在那个特定帧上,就停止调用类,诸如此类。 我尝试了“removeChild”,它解决了一半的问题,它没有完全移除画廊,但至少阻止

所以我有一个带有2个外部类的照片库,这个代码是调用这些类来导入图片库并使其工作的时间线代码。 到目前为止还不错,当我想将此照片库放入媒体演示文稿、网站或具有超过1层的内容时,问题就开始了。调用后,该照片库会停留在那里,每次我带着代码返回该帧时,都会增加更多的照片库

所以我想知道是否有可能创建一些简单的代码来添加到其中,比如说,如果我不在第13帧上,就删除库,或者如果我不在那个特定帧上,就停止调用类,诸如此类。 我尝试了“removeChild”,它解决了一半的问题,它没有完全移除画廊,但至少阻止了增长效应

当我转到另一个框架/页面时,我需要的只是一种删除库的方法。 有人能帮我吗

import flashfold.as3.*;

var imgLoader:ImageLoader;

var thumbsToLoad:Array=[];

var menuColumnItems:int=6;

var menuTotItems:int=30;



var menuThumbs:Vector.<Bitmap>=new Vector.<Bitmap>();

var menuBigPics:Vector.<String>=new Vector.<String>();


var menu:SpinnerMenu;

btnSpin.visible=false;

errorBox.wordWrap=true;

errorBox.visible=true;

errorBox.text="Loading thumbnails...";

populatePics();

prepImgs(thumbsToLoad);

function prepImgs(a:Array):void {

imgLoader=new ImageLoader();

imgLoader.addEventListener(ImageLoader.LOAD_ERROR,errorLoading);

imgLoader.addEventListener(ImageLoader.IMGS_LOADED,allLoaded);

imgLoader.loadImgs(a);

}

function errorLoading(e:Event):void {

errorBox.visible=true;

errorBox.text="There has been an error loading images. The server may be busy."; 

}

function allLoaded(e:Event):void {

errorBox.visible=false;

initApp();

}


function initApp():void {

var i:int;

for (i=0; i<menuTotItems; i++) {

    menuThumbs[i]=imgLoader.bitmapsArray[i];

}

menu=new SpinnerMenu(menuThumbs,menuBigPics,menuColumnItems);



this.addChild(menu);
trace("oi");

menu.x=72;

menu.y=50;





menu.menuInfoBox.x=160;

menu.menuInfoBox.y=90;


this.transform.perspectiveProjection.fieldOfView=70;

this.transform.perspectiveProjection.projectionCenter=new 
        Point(menu.x+menu.menuWidth/2,menu.y+menu.menuHeight/2);

btnSpin.visible=true;

//We load the initial image.

menu.loadInitial();

 }

 function populatePics():void {

var i:int;

for (i=1; i<=menuTotItems; i++) {

    thumbsToLoad[i-1]="small"+String(i)+".jpg";
}

for (i=1; i<=menuTotItems; i++) {

    menuBigPics[i-1]="pic"+String(i)+".jpg";

trace('ok');


btnSpin.addEventListener(MouseEvent.CLICK, spinMenu);

function spinMenu(e:MouseEvent):void {

    var r:Number=Math.random();

    if (r<0.5) {

        menu.doSpin("right");

    } else {

        menu.doSpin("left");
    }
     }
    }
 }
导入flashfold.as3.*;
var-imgLoader:ImageLoader;
var thumbsToLoad:Array=[];
var menuColumnItems:int=6;
变量菜单项:int=30;
变量menuThumbs:Vector.=新向量。();
变量menuBigPics:Vector.=新向量。();
变量菜单:喷丝头菜单;
btnSpin.visible=false;
errorBox.wordWrap=true;
errorBox.visible=true;
errorBox.text=“正在加载缩略图…”;
大众学();
预压(拇指加载);
函数prepImgs(a:数组):void{
imgLoader=newImageLoader();
imgLoader.addEventListener(ImageLoader.LOAD\u错误,errorLoading);
imgLoader.addEventListener(ImageLoader.IMGS_-LOADED,allLoaded);
imgLoader.loadImgs(a);
}
函数错误加载(e:事件):无效{
errorBox.visible=true;
errorBox.text=“加载图像时出错。服务器可能正忙。”;
}
函数allLoaded(e:事件):void{
errorBox.visible=false;
initApp();
}
函数initApp():void{
变量i:int;

对于(i=0;i如果
imgLoader
是您要删除的库,则这将有助于:

if (objectParent.getChildByName("imgLoader") != null) {
     trace("imgLoader exsits");
     objectParent.removeChild("imgLoader");
}

基本上,这是检查
imgLoader
是否存在,如果存在,它会将其删除。

是否
imgLoader
是您要删除的库?非常感谢,但它不起作用,我想我必须删除它的菜单,它会给我以下错误:1120:访问未定义的属性objectParent哦,我忘了提到我在flash cs4中工作,flash player 10.1作为3.0,我不知道,但它可能在TAX中有一些代码更改,可能是
objectParent
应该更改为您的
imgLoader
的任何父级
stage
this
任何
的地方>imgLoader
已添加到。如果要删除菜单,则与上面的基本代码相同
如果(this.getChildByName(“菜单”)!=null){trace(“menuexsits”);this.removeChild(“菜单”);}
删除menugreat应该对您有帮助!请将答案标记为正确,以帮助他人,如果有帮助,请可能对我以前的评论进行更新:-)