Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Загрузка крупных картинок в Flash галереи (http://www.flasher.ru/forum/showthread.php?t=125027)

kuflash 14.05.2009 20:44

Загрузка крупных картинок в Flash галереи
 
Вложений: 1
Доброго времени суток всем флешерам!!! Сейчас пишу 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 срабатывает после каждой успешной загрузки. Т.е.:
Код AS1/AS2:

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.

Теперь конкретно по полноразмерным.
Код AS1/AS2:

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. Но без цикла это не сделать вроде. Вот пример строчки кода
Код AS1/AS2:

scroll.box["pic"+(i+1)]._x = pic._x+pic._width+5;
                pic._y = 5;


akc.666 15.05.2009 22:10

Вложений: 1
Ну вот я по быстрому набросал... Не совсем удачное решение, но в этом случае будет работать.

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

kuflash 15.05.2009 23:49

У меня не открылся исходник. Нужен формат Flash 8

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

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


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

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