PDA

Просмотр полной версии : ScrollPane feat ProgressBar


NullDesign
31.10.2005, 13:04
Имеется:
крупный .swf файл, лежащий на сервере - content.swf.

Требуется сделать его загрузку в ScrollPane с индикацией процесса загрузки (попросту ПрогресБаром).

Использую: стандартный компонент из
состава Flash MX 2004 - ScrollPane а также обычный прямоугольник, конвертнутый в МувиКлип (в качестве прогрес бара).

Итак:
инстанс СкролПане названа SP,
ПрогресБара - PB.

Action внутри SP:
on(progress)
{_root.PB._xscale = ( this.getBytesLoaded() / this.getBytesTotal()) * 100}

on(complete)
{_root.PB._xscale = 0}

Action на первом и единственном фрейме, где лежат SP и SB:
_root.PB._xscale = 0;
_root.SP.contentPath = "content.swf";


Вопрос:
Почему при первоначальной загрузке
content.swf в SP с сервера (с локального диска все ОК!!!)
во первых - нет никакого отображения
ПрогресБара(PB) ???
во вторых - контент грузится игнорируя границы SP и никаких полос прокруток не наблюдается ???

NullDesign
31.10.2005, 13:20
Есть подозрение, что это происходит из за неспособности скрипта
налету определить размер файла лежащего на сервере...
если так, то как ScrollPane заставить его видеть (Может указать полный а не относительный путь к файлу в contentPath) ?

Skubent
31.10.2005, 13:50
Ну как... Делаешь скрипт, который будет тебе отдавать размер...

NullDesign
31.10.2005, 14:00
А имеются ли какие нить стандартные функции для этого именно во флешевом АС или это д.б. отдельный скрипт ?
ИМХО это шаг не в ту сторону, поскольку задача слишком тривиальна. Видел множество Flash'eй с подгрузкой внутрь другого ролика и при этом, прекрасно работающим прогрессом ... =/

Skubent
31.10.2005, 14:06
Есть мнение, что размер получается от сервера, то есть если Content-lenght выставляется - флэш хватает, сколько ему грузить.
Отсюда вывод - с клиентской стороны ничего не сделаешь...

NullDesign
31.10.2005, 15:08
Да, амно (

Ну если кто нить делал что нить подобное, от совета с примерчиком не откажусь ;)

Спасибо всем !