Сначала позвольте мне сказать вам, почему это не работает так, как вы ожидаете.Происходит то, что for выполняет цикл по вашим элементам и создает все загрузчики, увеличивая i
, но Event.COMPLETE
происходит через некоторое время, когда i
уже имеет значение 2
, поэтомувы получите этот вывод.
Как и предполагалось wvxvw , вам нужна еще какая-то структура данных, примерно такая:
class MyLoader {
private var i: int;
private var loader: Loader;
function MyLoader(i:int) {
this.i = i;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded);
}
function onLoaded(event:Event)
{
trace(i);
}
}
И вы будете использовать ее в своем цикле:
var i:int = 0;
for each(obj in myData) {
var loader:MyLoader=new MyLoader(i++);
}
Конечно, вам нужно будет добавить намного больше к этому MyLoader, например, обрабатывать ошибки, и передавать более значимые вещи, чтобы все работало.