PDA

Просмотр полной версии : Проблема с MovieClipLoader


Adskij
13.07.2008, 16:51
Есть вот такой код:

var my_mcl:MovieClipLoader = new MovieClipLoader();
var myListener:Object = new Object();
var count=0;
myListener.onLoadInit = function(target_mc:MovieClip) {
trace("загрузили "+ target_mc + " count=" + count);
count++;
};
my_mcl.addListener(myListener);
for(var i=0;i<3;i++){
this.createEmptyMovieClip("mc"+i,this.getNextHighestDepth());
trace("грузим в mc"+i);
my_mcl.loadClip("какойто урл", "mc"+i);
}


Трейсинг выдает следующие:

грузим в mc0
грузим в mc1
грузим в mc2
загрузили _level0.mc2 count=0
загрузили _level0.mc1 count=1
загрузили _level0.mc0 count=2

То есть загрузка клипов происходит с последнего к первому.

Теперь трейсим в режими имитации даунлоада:

грузим в mc0
грузим в mc1
грузим в mc2
загрузили _level0.mc0 count=0
загрузили _level0.mc1 count=1
загрузили _level0.mc2 count=2

Видим, что клипы загружены в порядке очереди...

Как сделать, что бы был всегда второй вариант?

Запостил, подумал, и сделал через EnterFrame вместо цикла... Загрузка следующего мувика начинается после того как загружен предыдущий. А есть варианты решения через цикл?

MrPoma
13.07.2008, 21:34
Нужно грузить следующее изображение токо после того как загрузиться предыдущее, т.е в onLoadInit

CorC
15.07.2008, 09:20
Все же зависит от размера загружаемого, потому ни цикл ни onEnterFrame не подойдет, только если локально.

Alex_beginner
15.07.2008, 14:23
Здравствуйте Adskij !

Я думаю подойдет мой код, представленный во вложении.
Хочу сразу предупредить загрузка изображений осуществялется в onEnterFrame потому, что время выполнения скрипта для одного кадра лимитировано 15 секундами, другими словами, если количество и размер картинок будет таким, что за 15 секунд они не успеют в цикле (не в onEnterFrame) загрузиться у Флеша случится судорога и он грязно выругается мол скрип в кадре шибко замедляет всеобщую деятельность приложения. Чтобы этого избежать нужно делать загрузку (loadClip) в onEnterFrame.

RJ Presto
16.07.2008, 19:23
потому, что время выполнения скрипта для одного кадра лимитировано 15 секундами
максимальное время выполнения скрипта настраивается при паблишинге

iNils
16.07.2008, 19:27
максимальное время выполнения скрипта настраивается при паблишингеМногие используют Flash 8 и такой опции там нет.