Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flash > Вот так чтобы по мере подгркзки она показывалась


Автор: AntonioBanderaz 2.9.2005, 02:24
Всем привет, хочу сделать такую штуку, грузится картинка, а по мере её подгружения она показывалась, это вообще реально сделать???... Пока мысли бали такие сделать Текстовое поле и подгружать в него как html, там и с размерами можно в % указать, только не всегда одинаково открывается иногда сразу, а иногда как в браузере, сверху вниз...

Мысля вторая, ждать пока загрузится, а потом уже её выводить, как говорилось выше... но муторно это и долго...

Подскажите как такую фичу мона сотворить... =)

Автор: AlDev 2.9.2005, 04:48
Цитата(AntonioBanderaz @ 2.9.2005, 07:24)
Мысля вторая, ждать пока загрузится, а потом уже её выводить, как говорилось выше... но муторно это и долго...

Подскажите как такую фичу мона сотворить... =)

так и сотвори. Это не муторно. Делаешь на загрузку установку маски и потом setInterval.

Цитата(AntonioBanderaz @ 2.9.2005, 07:24)
грузится картинка, а по мере её подгружения она показывалась

не-а.
событие начала отображения (или проигрывания, если swf) - onLoadInit

Автор: elFenok 5.9.2005, 09:31
Цитата(Alex @ 2.9.2005, 04:48)
Цитата(AntonioBanderaz @ 2.9.2005, 07:24)
Мысля вторая, ждать пока загрузится, а потом уже её выводить, как говорилось выше... но муторно это и долго...

Подскажите как такую фичу мона сотворить... =)

так и сотвори. Это не муторно. Делаешь на загрузку установку маски и потом setInterval.

Цитата(AntonioBanderaz @ 2.9.2005, 07:24)
грузится картинка, а по мере её подгружения она показывалась

не-а.
событие начала отображения (или проигрывания, если swf) - onLoadInit

smile Алекс можешь пример дать
или если можно такой исходник

Заранее thanx smile

Автор: aksyos 6.9.2005, 06:43
Господа, а что собствено это вам даст в конечном итоге окромя насилования процессора?
По моему, картинку легко можно в фотожопе окультурить - порезать там, черно-белый вариантик сделать или слои по отдельности сохранить - с каждой картинкой придется конечно поработать, хотя для мега архива фоток такой эфект вообще вряд ли нужен. Для небольшой колекции ну уйдет у вас лишний час при подготовке документов, зато проц будет нулевую загрузку показывать.

Автор: AntonioBanderaz 6.9.2005, 21:11
И где же тут насилование проца? Из-за чего собственно?

Автор: AlDev 7.9.2005, 03:58
без масок:
Код

function showClip(target_mc:MovieClip):Void
{
    var masked_mc:MovieClip = target_mc._parent.createEmptyMovieClip('masced_mc',target_mc._parent.getNextHighestDepth());
    masked_mc._x = target_mc._x;
    masked_mc._y = target_mc._y;
    masked_mc.beginFill(0xFFFFFF,100);
    masked_mc.moveTo(0,0);
    masked_mc.lineTo(target_mc._width,0);
    masked_mc.lineTo(target_mc._width,target_mc._height);
    masked_mc.lineTo(0,target_mc._height);
    masked_mc.lineTo(0,0);
    masked_mc.endFill();
    masked_mc['width'] = target_mc._width;
    masked_mc['height'] = target_mc._height;
    masked_mc['current_position'] = 0;
    masked_mc['step'] = 1;
    masked_mc['interval'] = setInterval(redrawPart,1,masked_mc);
}
function redrawPart(masked_mc:MovieClip):Void
{
    masked_mc.clear();
    masked_mc['current_position'] += Number(masked_mc['step']);
    if (masked_mc['current_position']>masked_mc['height'])
    {
        masked_mc['current_position'] = masked_mc['height'];
    }
    masked_mc.beginFill(0xFFFFFF,100);
    masked_mc.moveTo(0,masked_mc['current_position']);
    masked_mc.lineTo(masked_mc['width'],masked_mc['current_position']);
    masked_mc.lineTo(masked_mc['width'],masked_mc['height']);
    masked_mc.lineTo(0,masked_mc['height']);
    masked_mc.lineTo(0,masked_mc['current_position']);
    masked_mc.endFill();    
    if (masked_mc['current_position']==masked_mc['height'])
    {
        clearInterval(masked_mc['interval']);
    }
}

var mcl:MovieClipLoader = new MovieClipLoader();
var mc:MovieClip = this.createEmptyMovieClip('loaded_clip',this.getNextHighestDepth());
var list:Object = new Object();
list.onLoadInit = function(target:MovieClip)
{
    showClip(target);
}
mcl.addListener(list);
mcl.loadClip('http://www.macromedia.com/software/drk/images/box_drk5.jpg',mc);
stop();

Автор: aksyos 9.9.2005, 12:30
Цитата(AntonioBanderaz @ 6.9.2005, 21:11)
И где же тут насилование проца? Из-за чего собственно?

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

Автор: AntonioBanderaz 9.9.2005, 15:53
aksyos - Например для масок, так сказать если у тебя их будет 10000 - то конечно, если ты будешь отображать штук 10 картинок, и у них будет стоять маска, которая будет изменять свой размер каких-нибудь 1-2 секунды... Врятли Ты чего-нибудь тормознутого заметишь... Вот к примеру сайт RMA - у меня немного подтормаживает, даже Opera вылетела, ну там ещё куча програм было открыто, ну извините, там-то эффектов по-больше и по-сложнее...
P.S. ИМХО. Сайт на Flash - это и должен быть сайт на Flash, а не Flash реализация HTML...

Автор: AlDev 9.9.2005, 16:03
Цитата(aksyos @ 9.9.2005, 17:30)
юбой флешевый эфект кушает ресурсы, если ты на страничке сразу несколько эфектов ставишь - получается существенно. когда картинки подгружаешь - ресурсы не расходуются.


любой эффект кушает ресурсы. Что их тогда вообще не использовать?
Надо просто находить грань для себя, до которой возможно насиловать процессор.


ЗЫ:
и ещё: это другой вопрос, давайте его в отдельную тему. Это не моё мнение, это правила форума.

Автор: aksyos 9.9.2005, 16:26
вот кстати пример на эту тему: http://www.eliteportugal.com/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)