Я думаю, что более элегантный способ - написать суперкласс URLLoader, например:
class MyURLLoader extends URLLoader {
public var book:String;
function MyURLLoader(aBook:String){
book = aBook;
super();
}
}
А затем используйте этот класс в вашем цикле, например:
var gospels : Array = ["john", "mark", "matthew", "paul"];
for each (var book : String in gospels)
{
var loader : MyURLLoader = new MyURLLoader(book);
loader.load(new URLRequest("http://example.com/" + name));
trace(book) // outputs current value of array
loader.addEventListener(Event.COMPLETE, function(e : Event) : void {
var myUrlLoader:MyURLLoader = e.target as MyURLLoader;
trace (myUrlLoader.book);
});
}
P.S. В настоящее время я не за компьютером с флеш-памятью, поэтому у меня не было возможности проверить код.