In dem folgenden Code versuche ich, einige Bilder zu laden und sie in die Bühne, sobald sie einzeln geladen werden. Aber es ist abgehört, da nur das letzte Bild angezeigt wird. Ich vermute, dass es ein Schließungsproblem ist. Wie kann ich es reparieren? Ist das Verhalten von Closures in AS3 nicht dasselbe wie in Java Script?So beheben Sie das Schließen-Problem in ActionScript 3 (AS3)
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));
}
Ich würde nicht vorschlagen, die Javascript-Tag verwenden, wenn es nicht viel Relevanz hat, also habe ich es entfernt. – Salty