您好,非常感謝您的關注。我花了很多時間掙扎。使用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