![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2011
Сообщений: 1
|
Делаю в for:
for (var item:int = 0; item < count; item++) { ................ var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void { imageLoaded(e, item); } ); .............. } в итоге, imageLoaded вызывается в одним и тем же item(последнее вычисленное в цикле), картинки все разные, как и должно быть, но и item'ы надо чтобы разные приходили. Что делаю не так? Последний раз редактировалось vtroxx; 09.02.2011 в 21:45. |
|
|||||
|
не использовать вложенные функции (ваше событие это не синхронный процесс, тоесть imageLoaded(e, item); выполняется не сразу как только вы дали лоадеру задачу грузить контент)
__________________
мира и гармонии |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вложенные функции конечно зло и лучше вынести в приватный метод, но причина не в этом. Просто события окончания загрузки срабатывают позже, к этому времени цикл уже отработал и item равна последнему значению в цикле. Вам надо к каждому лоадеру привязать собственное значение. Можно использовать Dictionary или просто складывать лоадеры в приватный массив, а при получении ссылки на лоадер из события загрузки узнавать индекс этого лоадера в массиве (Array#indexOf).
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:05. |
|
|
« Предыдущая тема | Следующая тема » |
|
|