PDA

Просмотр полной версии : не отображается правильно в браузере


Ar4ibald
26.03.2007, 18:30
Всем привет.Такая проблема.Есть скрипт который через xml подгружает картинки.Во флеше он работает.как только я его вылаживаю на сервер,смотрю- не все картинки появляются,а некий раз и вообще не появляються.Как решить эту проблему?

etc
26.03.2007, 18:36
Для начала более детально описать проблему.

Ar4ibald
26.03.2007, 18:46
Вот картинки.
Там как отображается во флеш плеере и в опере.
в опере две картинки и все....

etc
26.03.2007, 19:05
Картинки нужно грузить последовательно, а не все сразу.

Ar4ibald
26.03.2007, 19:15
так у меня в цыкле создается мувик и туда грузится картинка.Я ж по одному.Так почему в плеере все ок?

etc
26.03.2007, 19:17
Это как раз одновременно, цикл выполняется единовременно, браузер за раз получает N запросов, которые он может все не обработать просто.

Ar4ibald
26.03.2007, 19:23
а как это сделать не единовременно?

etc
26.03.2007, 19:31
Отслеживать загрузку с помощью MovieClipLoader одной картинки, по завершении загрузки, начинать грузить следующую.

iNils
26.03.2007, 19:31
Ожидать загрузку одной картинки и начинать грузить другую

Ar4ibald
26.03.2007, 19:55
то есть внутри цикла отслеживать загрузку одной картинки и не повышать счетчик пока не загрузится картинка?

etc
26.03.2007, 20:18
Нет, не внутри цикла. Цикл — единовременный, а загрузка — асинхронна. Вы хотите подвесить машину пользователя до тех пор, пока не загрузятся картинки? Они не загрузятся, будет выдана ошибка плеера со всеми вытекающими.
После создания клипов надо начать грузить первую картинку в первый клип с помощью MovieClipLoader, затем на onLoadInit грузить вторую и т.д.

Ar4ibald
26.03.2007, 21:00
попробую реализовать это все.Спасибо огромное!

Ar4ibald
27.03.2007, 19:16
что то не получается! а как мне загрузить n количество картинок без цыкла?
это надо столько же onLoadInit-тов

etc
27.03.2007, 19:22
А кто сказал, что картинки должны в цикле грузится? Цикла как такового нет, есть последовательность действий:
1. Создали клип, MovieClipLoader, грузим (loadClip).
2. Загрузили (onLoadInit), переходим к первому шагу, если счетчик картинок не закончился.

Ar4ibald
27.03.2007, 19:47
я какой-то недоганяющий


for (var i = 0; i<sites.childNodes.length; i++) {

name_mc = "box_mc"+i;
var tmb = sites.childNodes[i].attributes.tmb;
_root.createEmptyMovieClip(name_mc, i);
loader.loadClip(tmb, name_mc);




listener.onLoadInit = function():Void
{


if (count!=1) {
for(var i=0;i<sites.childNodes.length;i++)
{
name_mc="box_mc"+i;
h=getNextHighestDepth()-10;
_root[name_mc].swapDepth(h-i);
theta[i] = (i * (360/sites.childNodes.length));
rad = theta[i]*Math.PI/180;
xi = xoff+radiusX*Math.cos(rad);
yi = yoff+radiusY*Math.sin(rad);
k2=yi/k1;
k3=_root[name_mc]._width;
k4=_root[name_mc]._height;
k5=k3*k2;
k6=k4*k2;

_root[name_mc]._x=xi;
_root[name_mc]._y=yi;
_root[name_mc]._width=k5;
_root[name_mc]._height=k6;




}
}
}
}



вот мой код.Можете,если не сложно на примере показать?

etc
27.03.2007, 20:00
Ещё раз говорю — нет цикла! Я не буду писать код, вам нужно понять и написать самостоятельно.

Ar4ibald
27.03.2007, 20:03
а как мне вернутся на шаг номер 1?
это все через функции реализовать?Я просто начинающий и всех подробностей еще не знаю.