PDA

Просмотр полной версии : Загрузка крупных картинок в Flash галереи


kuflash
14.05.2009, 20:44
Доброго времени суток всем флешерам!!! Сейчас пишу Flash галерею и возникла проблема. При нажатии на превьюшку, картинка должна появится в крупном виде в отдельном клипе. Это я сделал. Но ширина у них глючит. При первом нажатии на превьюшку ширина крупной картинки равна 0. При втором стандартной ширине картинки. А при третьем уже устанавливается ширина которую я задаю Гляньте плизз. Ваще не понимаю в чем проблема. На вас одна надежда:o Код не буду писать, а прикреплю исходник

2Borik
15.05.2009, 08:22
Доброго, юзай MovieClipLoader и лови onLoadInit после чего смотри ширину картинку.

kuflash
15.05.2009, 18:56
Я так и сделал. Вы исходник то посмотрели??? Там же так и сделано. Но не понятно почему глючит

zhalex
15.05.2009, 19:04
del
проблема решена

akc.666
15.05.2009, 19:23
Вам нужен второй MovieClipLoader для подргузки полноразмерных изображений. Да и не пойму зачем цикл внутри onLoadInit? onLoadInit срабатывает после каждой успешной загрузки. Т.е.:
for (i=1; i<=max_pic; i++) {
_root.scroll.box.createEmptyMovieClip("pic"+i, i);
pic_load.loadClip("pictures/"+i+".jpg", _root.scroll.box["pic"+i]);
}
тут вы грузите в нашем случае 3 раза, и потом после каждой успешной загрузки еще раз крутите цикл уже внутри onLoadInit.

Теперь конкретно по полноразмерным.
pic_load.loadClip("pictures/"+this.id+".jpg", full_pic);
if ((full_pic._width>fulp_w) || (full_pic._height>fulp_h)) {
glavNaryshRazm = Math.max(full_pic._width, full_pic._height);
deletil = glavNaryshRazm/300;
full_pic._width = full_pic._width/deletil;
full_pic._height = full_pic._height/deletil;
}
Вы начинаете загрузку и сразу же пытаетесь узнать ее ширину, не дождавшись окончания.

kuflash
15.05.2009, 19:59
То есть создавать еще один MovieClipLoader? За замечание по поводу цикла в LoadInit спасибо, я не знал об этом

akc.666
15.05.2009, 20:02
Да, еще один. И еще одного листнера. И уже в его onLoadInit-е масштабировать.

kuflash
15.05.2009, 20:07
Все ясна спасибо большое. Пойду дальше мучить галерейку ;)

Добавлено через 8 минут
Гм. ну вот я и столкнулся с проблемой.Вот убрал я цикл из LoadInit. Ну а как мне теперь работать со всеми картинками? Мне например их надо располагать по x. Но без цикла это не сделать вроде. Вот пример строчки кода
scroll.box["pic"+(i+1)]._x = pic._x+pic._width+5;
pic._y = 5;

akc.666
15.05.2009, 22:10
Ну вот я по быстрому набросал... Не совсем удачное решение, но в этом случае будет работать.

P.S. Там еще поработай над масштабированием, а то пока что криво.

kuflash
15.05.2009, 23:49
У меня не открылся исходник. Нужен формат Flash 8

Добавлено через 1 минуту
Если можете, то объясните как мне обращаться и как с работать с картинками без цикла

Добавлено через 15 часов 12 минут
Вопрос открытый. Как без цикла работать с картинками в LoadInit?

kuflash
16.05.2009, 16:18
Все. Я разобрался с работой с картинками без цикла. Но не могу разобраться с глюками при регулировки размеров крупных картинок.

kuflash
21.05.2009, 23:25
Снова поднимаю тему. Вся галерея готова. На компе все работает четко. Но на сервере, когда идет подгрузка больших картинок не отображается прелоадер. Ваще не понимаю почему. На компе в эмуляторе подгрузки все отображается. Может вы пойможете? Кидаю исходник. Может я че-то не то написал. Гляньте плизз:o

Добавлено через 19 часов 54 минуты
Да, и еще картинки на сервере не грузятся ваще. Я ваще не понимаю в чем баг. Я уже день ап стену бьюсь. Помогите кто может!!!!!! (не убится ап стену, а найти ошибку).