Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Правильная последовательность загрузки (http://www.flasher.ru/forum/showthread.php?t=204163)

GrafMine 21.10.2013 21:50

Правильная последовательность загрузки
 
Проблема в том что каждую картинку загружает с разным интервалом времени , пока загрузиться одна может перед ней загрузиться 3, и получается так что последовательность в массиве уже не соответствует задуманному .
Код AS3:

for (var ii:Number=0; ii < MAP_IMG_localeXML.st.length(); ii++) {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event) : void {
//map_imagesArray[Number(MAP_IMG_localeXML.st[i].@id)]= e.target.content; <-- пробовал и так
//map_imagesArray[ii] = e.target.content; <- пробовал и так
map_imagesArray.push(e.target.content);
loaded++;
trace("loaded :"+loaded);
});
loader.load(new URLRequest(String(MAP_IMG_localeXML.st[ii].@img)));
}

При попытке присвоить конкретному слоту в массиве картинку, их не отображает вовсе( мистика ;) )
ну а когда в коде нужно уже передать картинку с загруженного массива
Код AS3:

map_img = map_imagesArray[4];
Lvl_a = map_imagesArray[0];
Lvl_b = map_imagesArray[1];

Причем закономерность такова: если присвоить только map_img то он отобразиться нормально и как положено, а чем больше присваиваний с этого массива тем все будет хаотичнее картинки по данным слотам ( например может на картинку кнопки кинуть изображение большой карты или картинку вообще не со сферы кнопок )
Кто сталкивался вообще с таким ? мне кажется вся проблема из-за не правильного объявления и присвоения в массив картинок.

Akopalipsis 21.10.2013 22:11

Вы первым делом сделайте это в отдельном классе. Если не сможете, то скажите, я покажу как.

GrafMine 21.10.2013 22:12

Цитата:

Сообщение от Akopalipsis (Сообщение 1149419)
Вы первым делом сделайте это в отдельном классе. Если не сможете, то скажите, я покажу как.

какой смысл?)

udaaff 21.10.2013 22:17

Грузите последовательно.

GrafMine 21.10.2013 22:19

Цитата:

Сообщение от udaaff (Сообщение 1149421)
Грузите последовательно.

тогда в чем может быть ошибка ?

Akopalipsis 21.10.2013 22:19

Цитата:

какой смысл?)
Тогда нужно в этом цикле сделать булеву переменную, которая будет показывать загружается ли в данный момент или нет. И таймер, который будет работать пока булева переменная не станет фалсе. И только тогда разрешать циклу продолжать. Но это не правильно.

GrafMine 21.10.2013 22:24

Цитата:

Сообщение от Akopalipsis (Сообщение 1149423)
Тогда нужно в этом цикле сделать булеву переменную, которая будет показывать загружается ли в данный момент или нет. И таймер, который будет работать пока булева переменная не станет фалсе. И только тогда разрешать циклу продолжать. Но это не правильно.

ну цикл ведь не бесконечный у него определенное кол-во раз задано сколько и картинок, как ему всегда проверять если ли загрузка ? да и судя с коментария udaaff все проходит правильно, ошибка где-то в другом месте...

udaaff 21.10.2013 22:28

Цитата:

Грузите последовательно.
В смысле, грузите первую картинку, после неё следующую, а не все разом.

GrafMine 22.10.2013 00:00

Цитата:

Сообщение от udaaff (Сообщение 1149427)
В смысле, грузите первую картинку, после неё следующую, а не все разом.

Собственно это и есть мой вопрос темы - "КАК? " :)

udaaff 22.10.2013 00:14

В обработчике COMPLETE стартуйте следующую загрузку, без всяких циклов.


Часовой пояс GMT +4, время: 23:16.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.