PDA

Просмотр полной версии : Отслеживание загрузки картинки


Annotation
17.07.2004, 13:11
Здравствуйте.
Подскажите, пожалуйста, возможно ли программно сделать следующее.
В кадре стаким кодом:

stop();
mc.loadMovie("image.jpg");

дождаться полной загрузки этого самого имаджа и сделать плавное появление (альфа 0 > 100) его самого и еще какого-нибудь объекта, находящегося в этом же кадре. И при условии, чтобы никуда не переходить из этого кадра.

sergwizard
17.07.2004, 16:58
stop();
mc._alpha = 0;
mc.createEmptyMovieClip("test", 1);
mc.test.loadMovie("image.jpg");
mc.onEnterFrame = function() {
var l = mc.test.getBytesLoaded();
var t = mc.test.getBytesTotal();
if (l && t && l>=t) {
mc._alpha++;
// еще какой-то объект._alpha++
if(mc._alpha>=100){
delete mc.onEnterFrame;
}
}
};

Annotation
17.07.2004, 20:21
Спасибо, все работает :)
Единстаенно, такой вопрос - регулирую скорость альфы 0>100 таким способом
mc._alpha++;
mc._alpha++;
mc._alpha++;
mc._alpha++;
mc._alpha++;
mc._alpha++;
mc._alpha++;................
:)
можно ли это сделать как-то поизящнее? :)

sergwizard
17.07.2004, 21:07
А зачем много раз писать "mc._alpha++;"?
Один раз написал, - и хватит.

Annotation
17.07.2004, 21:14
Установлена закономерность - чем больше напишешь, тем быстрее происходит бленд:)
Если один раз, то где-то секунд за 5,
а если 25, то и за секунду управится :)

sergwizard
17.07.2004, 21:31
Не надо говорить глупости. :(
Тут все зависит от fps и шага инкримента. Хочешь побыстрее - напиши
mc._alpha+=5;

Annotation
18.07.2004, 02:02
Да, вот так значительно лучше :)
Большое спасибо.
Но тут появился вопрос в продолжение темы.
Как сделать, чтобы при нажатии клавиши Enter таким же образом поверх уже загруженной картинки грузилась следующая, а при нажатии BackSpace - предыдущая?
И так, чтобы предыдущая не исчезала до окончании загрузки следующей.

Штрек
18.07.2004, 02:05
Оригинал написал(а) Annotation
И так, чтобы предыдущая не исчезала до окончании загрузки следующей.
И ещё ножки свесил. :D