您好,非常感谢您的关注。我花了很多时间挣扎。使用actionscript 3卸载加载程序
下面的代码加载了四张图片的幻灯片,以及这些图片的缩略图。它工作正常。
我已经添加了一个名为“invis_button”的按钮,当按下它时,应该删除组成幻灯片的3个加载程序,对每个加载程序使用removeChild命令。
但这就是问题所在,幻灯片放映中涉及到3个加载器。 removeChild命令成功移除了其中一个加载器(名为“loader3”),但未成功移除其他两个(“container3”和“thumbLoader3”)。它返回一个错误,指出“访问未定义的属性thumbLoader3”或“Container3”。
有人可以告诉我这是为什么吗?或者更好的是,如何让该按钮(invis_button)卸载整个幻灯片。
var images3:Array = ["ad_bona1.jpg", "ad_bona2.jpg", "ad_darkhawk1.jpg", "ad_darkhawk2.jpg"];
var thumbX3:Number = -375;
var thumbY3:Number = 220;
var loader3:Loader = new Loader();
loader3.load(new URLRequest("assets/ad_bona1.jpg"));
addChild(loader3);
loader3.alpha = 0;
loadThumbs3();
function loadThumbs3():void
{
var thumbLoader3:Loader;
var container3:Sprite = new Sprite();
addChild(container3);
container3.buttonMode = true;
for(var i3:uint = 0; i3 < images3.length; i3++)
{
thumbLoader3 = new Loader();
thumbLoader3.load(new URLRequest("assets/thumbs/" + images3[i3]));
thumbLoader3.x = thumbX3;
thumbLoader3.y = thumbY3;
thumbX3 += 85;
container3.addChild(thumbLoader3);
thumbLoader3.addEventListener(MouseEvent.CLICK, thumbClicked3);
}
}
function thumbClicked3(event:MouseEvent):void
{
var path3:String = event.currentTarget.contentLoaderInfo.url;
path3 = path3.substr(path3.lastIndexOf("/") + 1);
loader3.load(new URLRequest("assets/" + path3));
}
///PROBLEM BELOW, button removes only "loader3" and not the other two for some reason
invis_button.addEventListener(MouseEvent.CLICK, unload_loaders);
function unload_loaders(event:MouseEvent):void{
removeChild(loader3);
removeChild(thumbLoader3);
removeChild(container3);
}
不能告诉你我多么感激回应。我对as3相当陌生,有没有可用于为这些对象创建类级属性的代码? – Steve 2010-12-14 21:23:22
编辑我的帖子上面,包括您提供的代码的修改版本 – greatdecay 2010-12-14 21:47:32