![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Хотел сделать прерывание одной загрузки и начало другой как-то так:
mcListener.onLoadProgress = function(pic_temp, bytesLoaded:Number, bytesTotal:Number) { if(flag == false) // Если нажата кнопка - запускаем загрузку линии { mcLoader.unloadClip(pic_way_main,pic_temp); removeMovieClip(line_inter["picture_inter"+f_i+f_j]); flag = true; if(currentBtn_tri < txt_inter.length) { load_line(pictures_interior["line_inter"+currentBtn_tri],currentBtn_tri,1); } if((currentBtn_tri >= txt_inter.length)&&(currentBtn_tri < txt_inter.length+txt_arc.length)) { load_line(pictures_architecture["line_arc"+(currentBtn_tri-txt_inter.length)],(currentBtn_tri-txt_inter.length),1); } } } Последний раз редактировалось FriOne; 26.08.2010 в 00:30. |
|
|||||
|
ну например вот так:
function loadPic(i:Number) { if(i < pics_rand_count) { preload_process += preload_line_length; line_progress.lineTo(preload_process,0); var rand:MovieClip = pictures_rand.createEmptyMovieClip("rand"+i, i); if(i != 0){rand._x -= 600;} var pic:String = "images/random/"+rand_folder+"/"+(i+1)+".jpg"; var picr:MovieClip = rand.createEmptyMovieClip("picr", 0); var mcLoader:MovieClipLoader = new MovieClipLoader(); var mcListener:Object = new Object(); mcLoader.addListener(mcListener); mcListener.onLoadInit = function(picr) { var bitmap_temp:BitmapData = new BitmapData(picr._width, picr._height, true, 0); bitmap_temp.draw(picr); rand.attachBitmap(bitmap_temp,0,"auto",true); picr.removeMovieClip(); loadPic(i+1); } mcLoader.loadClip(pic,picr); } else { loadPic_interior(0); // Здесь можно не смотреть, запуск следующей загрузки } } var mcLoader:MovieClipLoader = new MovieClipLoader(); var mcListener:Object = new Object(); mcLoader.addListener(mcListener); То загрузка которая шла до этого прекратится? |
|
|||||
|
[+4 06.05.14]
|
вы понимаете что new Значит НОВЫЙ. тоесть создав объекты за функцией. вы их привяжите раз и навсегда. А если вы создаете их в функции и каждый раз ВЫЗЫВАЕТЕ из функции то создаются каждый раз новые объекты. Ок - раз это понятно, то непонятно видимо другое. - Загрузка сама по себе, после того как она началась, является уже не флешовой так сказать. Если вы удалите обработчики ничего не произойдет толком. Тоесть пример выше с delete удалит обработчик, но не остановит загрузку.
Методика : Start = container._visible = 0 Progress = ... Complete = ... Init = container._visible = 1 Далее, по нажатию на кнопку. юзаем некую функцию, типа if(!deleted) где про веряем если мы собираемся удалить клип, то в Init ставим false на видимость, и запускаем новую загрузку на контейнер. Далее, уже второй раз на >95% например загруженных, меняем deleted = true. Как то так. геморно... Добавлено через 4 минуты А вообще конечно напишите, зачем оно вам нужно такое?!!! Что в итоге? может какие то альт решения есть. Мне за всю историю производства на флеше, такая система была нужна только 1 раз. Когда я делал скейловый вьювер. При нажатии на кнопку вылезало окно ( некоторых размеров) в которое автоматом грузился некто JPП. и если пользователь не дожидался загрузки и закрывал окно, загрузка все равно продолжалась и в итоге не с того ни с сего появлялась картинка))) Только через видимость и побороть смог. костыль, конечно, но выход каждый ищет сам. Кстати пока писал. идейно можете сделать свой код классом или пофиг впринципе, и аттачить каждый раз контейнер куда грузим, а потом его ремувить и заново аттачить и грузить новое. как вариант |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 101
|
хотелось бы уточнить по теме:
у флеша нет прямой возможности прервать загрузку 5мб рисунка, кроме как перезагрузить страницу с флешем? а загрузка новой картинки в старую переменную и старый контейнер (клип) обрывает предыдущую? |
|
|||||
|
Гуд, спасибо за объяснение, плохо, что нельзя, ну да ладно..
У меня все маской сделано на главный контейнер,так что с этим нет проблем) , вообще бы похорошему запомоинать битмапы и аттачить их только в нужный момент, но что-то не охота пока переделывать. Добавлено через 5 часов 27 минут P.S. хотел сделать это, чтобы загрузить немеренное количество картинок, но по нажатию кнопки хотел прервать и начать загрузку ток одной линии картинок.. |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:15. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| onLoadProgress |
|
|