Я до сих пор не могу понять, как некоторые простые вещи становятся сложнее в AS3. Здесь я хотел бы загрузить растровое изображение в функцию и при завершении вернуть его значение, чтобы приложение продолжило работу. Что-то вроде этого было бы легко использовать:
var imageLoader:Bitmap;
for (var i:int=0; i<n.length; i++) {
imageLoader = loadFile(name[i]);
trace(imageLoader); // [object Bitmap]
}
function loadFile(name:String):Bitmap {
imgLoad:ImageLoader = new ImageLoader(url + name)
imgLoad.addEventListener(LoaderEvent.COMPLETE, fileLoaded);
imgLoad.load;
function fileLoaded(ev:LoaderEvent) {
return ev.target.content; // the file now loaded is a bitmap.
}
}
Но это не работает. Возвращаемое значение должно быть в конце loadFile(). Я действительно не понимаю, что мне делать, чтобы мой код оптимизировался и работал. В первый раз, когда я попытался, я использовал что-то вроде метода "loopingLoad" с "_Count:int" и "_CountEnd", чтобы знать, когда прекратить вызов loadFile... Ну, это работало хорошо, но это было действительно уродливо. Итак, я хотел бы знать, как просто загрузить несколько файлов с помощью «Для».
Спасибо за вашу помощь.