PDA

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


Futs
21.11.2005, 17:26
Столкнулся с проблемой, гружу несколько картинок при этом
loaderListener.onLoadStart = function(target_mc:MovieClip) {
target_mc._alpha=0
trace("LoadStart = "+target_mc); трейсит все клипы в которые грузится, но показывает и трейсит только одну:
loaderListener.onLoadInit = function(target_mc:MovieClip) {
trace("LoadInit = "+target_mc);
target_mc._alpha=100
Локально появляются все сразу, а при симуляции загрузки одна, в чем проблема, может кто сталкивался?

St. Father
21.11.2005, 17:30
для каждой картинки свой лоадер насколько я помню. могу ошибаться

Futs
21.11.2005, 17:41
А в хелпе сказано, что можно использовать и пакетную загрузку, сейчас закоментировал в функции onLoadInit - loader_mc.removeListener(loaderListener); все становится видимым, но также как и просто при загрузке (без использования этого класса), т.е. одна загрузилась, появилась и т.д. мне казалось, что этот класс позволяет при пакетной загрузке показывать показывать файлы только тогда когда загрузились все, значит все равно придется пользоваться старыми методами, определять суммарное кол-во байтов для всех клипов и тогда запускать функцию появления. Жаль.

St. Father
22.11.2005, 10:13
для каждой картинки свой лоадер насколько я помню. могу ошибаться
перечитал.. ушибся... можно на один инстанс МКЛоадера вешать кучу листнеров и делать им кучу загрузок. эт на всякий.

IvanBatsuev
22.11.2005, 12:21
А у тебя в коде загрузки параллельно идут... Надо делать так, чтобы после загрузки одной начинала грузиться другая...(Рекурсией)

Nirth
22.11.2005, 13:55
грузишь один, на onLoadInit ставишь загрузку слейдующего

KUZEN
22.11.2005, 15:18
грузишь один, на onLoadInit ставишь загрузку слейдующего
Это несовсем удобно, допустим я загружаю сайт , а там сначала прощёлкивается один лоадер потом другой третий и т.д. т.к. надо загружать допустим xml музыку какую и т.д так что намного лучше делать всё по один лоадер ...

Nirth
22.11.2005, 17:21
а я очем

onLoadInit = function () {
if(toLoad <= toLoadTotal) {
this.load(itemsToLoad[++toLoad]);
}else{
trace("all items loaded");
}
}

KUZEN
22.11.2005, 23:58
а я очем

onLoadInit = function () {
if(toLoad <= toLoadTotal) {
this.load(itemsToLoad[++toLoad]);
}else{
trace("all items loaded");
}
}

Упс :rolleyes:

Futs
23.11.2005, 13:42
По моему я совершенно отупел, нифига не пойму. Вот код:var nam = 1;
var numfotos = 8;
function loade (nam, pic_nam) {
var loaderListener:Object = new Object();
loader_mc.addListener(loaderListener);
loaderListener.onLoadInit = function(target_mc:MovieClip) {
trace("LoadInit = "+target_mc);
target_mc._alpha=100
//loader_mc.removeListener(loaderListener);
};
for (n=0; n<numfotos; n++) {
newfoto = "foto"+n;
this[newfoto].createEmptyMovieClip("mc"+nam, nam);
this[newfoto]["mc"+nam]._x = -100;
this[newfoto]["mc"+nam]._y = -75;
this[newfoto]["mc"+nam]._alpha=0
loader_mc.loadClip("pic_del/"+(n+1+pic_nam)+".jpg", this[newfoto]["mc"+nam]);
}
}
loade(nam,0)
nam++Пробовал с кодом от Nirthа, да вот очевидно руки не из того места...

IvanBatsuev
23.11.2005, 16:14
Клсс пойдёт (для подгрузки любого числа клипов)? (Всмысле мне его выложить?)

Futs
23.11.2005, 16:30
А количество подгружаемых клипов еще не определено.
Выложи если не трудно

IvanBatsuev
24.11.2005, 12:44
Вот...Смотри...Что непонятно - спрашивай.