Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Загрузить из сети МНОГО Jpegов (http://www.flasher.ru/forum/showthread.php?t=59171)

styx 09.06.2004 17:56

Загрузить из сети МНОГО Jpegов
 
Много - это порядка сотни и больше. Причём совершенно необходимо в каждый момент времени знать, какие уже подгрузились, а какие - нет. Можно, конечно, в каждом фрейме в цикле проходить по всем мувикам и проверять их _width - но это же сколько ресурсов съест... Нет ли более корректного решения?

Dindin 10.06.2004 23:37

Ну как же, есть. Создаешь флаговый ассоциированный массив, в котором в качестве индексов - названия мувиклипов, а все значения по умолчанию - false. И при загрузке мувиклипа меняешь значение на "true". Поиск в массиве - либо по индексам, либо по значениям переменных. Вот и всё.

styx 15.06.2004 16:05

Это-то само-сабой. Только вот как отследить факт загрузки картинки, кроме как проверкой _width, скажем? Ведь чтобы заполнить этот массив, мне надо откуда-то знать, какие объекты уже загружены?

А так исходно идея такая и есть - показывать фотогалерею в том порядке, в котором картинки пришли от сервера, для чего и будет формироваться такой массив.

Nucer 15.06.2004 18:33

Object.watch не подойдёт?

Елё 15.06.2004 18:34

Ну во первых для фотогалереи не надо подгружать все jpeg-и.
100 jpg этож мегабайта 3 наверное...

Ну а во вторых можно переопределить onLoad - который работает если предварительно включить следующий код:

дзынь

styx 15.06.2004 21:50

Про object.watch - а разве должен помочь? Потому как такие свойства, как _width или _x, он, если верить доке, не поддерживает...

Про копание с прототипами... это интересная мысль! Спасибо, попробую. Правда, смутила фраза, что при тестировании в шестёрке не сработало... Ну да поглядим.

А надо ли все подгружать... Имеются в виду превьюшки 100х100, конечно, а подгружать их надо :) В конце концов, если пользователь не согласен с таким подходом, он всегда сможет это отменить.

Usnul 16.06.2004 02:20

я бы предложил составить список в виде текстовика вроде:
&pic1=bla.jpg&
&pic2=bla2.jpg&
&pic3=.... и т.д.
затем этот списочек грузонуть с помощью клипа все по очеряди загрузить вроде этого:
Код:

_root.i=0
clip.onEnterFrame=function(){
if(_root["pic"+i]==undefined or _root["pic"+i].getBytesLoaded()==_root["pic"+i].getBytesTotal()){
_root.i++
_root.createEmptyMovieClip("pic"+_root.i,_root.i);
_root["pic"+_root.i].loadMovie(_root.pix["pic"+_root.i]);
}
}

башка что-то плохо варит, но надеюсь написанное выше дало какую-то идею =)

styx 16.06.2004 14:16

Собственно, так сейчас оно и сделано. Только список грузится из XML... Точнее, будет грузиться, когда студенты напишут скрипт, который из MySQL этот самый XML сделает :) Меня смущает в этом подходе одно - а что будет, если один из файлов не сможет загрузиться? Цепочка остановится :( Вот и пытаюсь понять, как бы так сделать, чтобы одиночные сбои не влияли на всю систему...

styx 16.06.2004 14:21

Хотя стоп... Или вот эта проверка - _root["pic"+i]==undefined - как раз на эту ошибку? Или это просто для инициации первой загрузки написано? Вообще, можно ли как-то отследить ошибку loadMovie?

Елё 16.06.2004 16:05

в 2004 есть MovieClipLoader который имеет onError
вообще и без него как то ошибка идентифицируется... По моему getBytesTotal() == 0 при ошибке. Точно не помню


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

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