在下面的代码中,我试图加载一些图像,并在它们单独加载后立即将它们放在舞台上。但它是错误的,因为只显示最后一张图像。我怀疑这是一个关闭问题。我该如何解决?AS3 中的闭包行为与 Java Script 中的行为不一样吗?
var imageList:Array = new Array();
imageList.push({'src':'image1.jpg'});
imageList.push({'src':'image2.jpg'});
var imagePanel:MovieClip = new MovieClip();
this.addChildAt(imagePanel, 0);
for (var i in imageList) {
var imageData = imageList[i];
imageData.loader = new Loader();
imageData.loader.contentLoaderInfo.addEventListener(
Event.COMPLETE,
function() {
imagePanel.addChild(imageData.loader.content as Bitmap);
trace('Completed: ' + imageData.src);
});
trace('Starting: ' + imageData.src);
imageData.loader.load(new URLRequest(imageData.src));
}