Создание индикатора загрузки
Создание программы на ActionScript для предварительной загрузки
Хорошим стилем написания программ является предварительное создание псевдокода. С его помощью мы описываем, что должно произойти, и согласно этому сценарию пишем саму программу. В случае с предварительным загрузчиком произойти должно многое. Основной фильм должен остановиться на кадре 1. Предварительный загрузчик должен продвинуться вперед до метки StartMovie и задать простой вопрос: достаточно ли загружено кадров для того, чтобы обеспечить безостановочное воспроизведение фильма? Это можно определить с помощью Bandwidth Profiler. После этого можно определить, сколько кадров или байт должно быть загружено до того, как начнет воспроизводиться фильм. В данном случае мы будем принимать в расчет количество байт.
Если из основного видеоряда не было загружено правильное количество кадров, выполните следующие действия.
- Проверьте, сколько кадров уже загружено. Вычислите процент загрузки. Для этого количество загруженных кадров поделите на их общее количество и умножьте на 100.
- Измените ширину индикатора загрузки слоя Progress Bar клипа Progress Bar в соответствии с вычисленным процентом.
- Поместите число процентов в поле Dynamic Text.
- Оставьте заголовок воспроизведения в кадре 1 и повторяйте действия 1-3, пока процент не станет равным 100.
Если в основном видеоряде было загружено правильное количество кадров, переместите заголовок воспроизведения на метку StartMovie и начните воспроизведение.
Ниже описывается, как используется ActionScript для обслуживания раздела предварительной загрузки, добавленного в фильм.
- Выделите первый кадр на слое Script основного видеоряда и щелкните правой кнопкой мыши. Для кадра откроется контекстное меню, в котором нужно выбрать Actions. Откроется панель Actions.
- В списке режимов панели Actions выберите пункт Normal Mode. На панели в левой части окна выберите Actions book, откройте Movie Actions и дважды щелкните на действии Stop.
- В программной области окна Action вы увидите оператор stop ();. Закройте редактор действий. Действие Stop будет добавлено в первый кадр слоя Script, что будет обозначено на экране буквой "а".
- Откройте клип Progress Bar и добавьте новый слой Actions. Переместите этот слой в самый верх.
Совет
Если при работе с Flash MX существуют слои Actions и Labels, второй всегда помещается над первым. Слой Actions всегда находится выше слоев содержания. Это помогает немного организовать видеоряд. Нахождение слоя Labels на верхнем уровне позволяет сразу же находить и использовать нужные метки видеоряда. Слой Scripts хранит все действия, производимые в кадрах. - Откройте панель Actions и выберите в списке режимов ввода Expert Mode. В этом режиме можно вводить текст непосредственно в область Actions.
- Введите приведенную ниже программу. Строки, начинающиеся с двойной косой черты, являются комментариями. В данном случае мы будем объяснять каждую строку программы. При выполнении строки комментариев игнорируются.
this
.onEnterFrame
=
function
() {
preloadAmount
=
_root.getBytesTotal()
/
1.5
//количество байт, которые предстоит загрузить
//здесь подразумевается использование модемов 28.8K
loadedWidth
=
bar._Width
//ширина индикатора загрузки
if
(_root.getBytesLoaded()
<
preLoadAnount) {
var
;
percentage
=
(_root.getBytesLoaded()
/
preLoadAmount);
//Если загрузка все еще продолжается, вычисляем процент
//загруженного
progress._width
=
parselnt(loadedWidth
*
percentage);
//устанавливаем ширину индикатора, используя
//процент от общей ширины
percentageDisp
=
parse!nt(percentage
*
100
)
+
"%"
;
//если отображается текстовый индикатор,
//получаем целочисленное представление процента
//и помещаем в текстовое поле
}
else
(
root.gotoAndPlay(
"MovieStart"
);
//если для воспроизведения загружено достаточно,
//даем указание на воспроизведение основного видео
}
}
В приведенной выше программе прокомментированы действия, выполняемые каждой строкой. Первая строка устанавливает клип Progress Bar так, чтобы он выполнял приведенную программу каждый раз, когда Flash попытается переместиться к следующему кадру. После того как загружен достаточный объем видео, предварительный загрузчик перемещается к кадру с меткой StartMovie и начинает воспроизведение. Когда видео начнет воспроизводиться, о клипе Progress Bar и программе можно забыть.
- В меню панели выберите пункт Check Syntax или нажмите комбинацию клавиш CTRL + T. Откроется диалоговое окно Notification, в котором вы будете проинформированы об отсутствии или наличии ошибок. Если ошибок нет, в этом диалоговом окне щелкните на кнопке ОК и закройте окно Actions. Если ошибки будут обнаружены, перейдите к указанной строке и убедитесь в отсутствии орфографических ошибок и лишних пробелов, поскольку это – две самые распространенные ошибки.
- Протестируйте фильм. Для этого выберите в меню пункт Control › Test или нажмите комбинацию клавиш CTRL + Enter. Самой лучшей проверкой загрузчика будет имитация реальных условий, т.е. включение Bandwidth Profiler и Streaming. Для этого выберите в меню пункты View › Bandwidth Profiler и ViewoShow Streaming. Таким способом можно получить приблизительное представление о том, как будет загружаться фильм при различных пропускных способностях канала.