Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Программирование на Flash" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Использование компонентов в Macromedia Flash #7
Информационный Канал Subscribe.Ru |
Выпуск №7.
Доброе время суток. Не за горами начало нового учебного года, и рассылка в связи с этим обстоятельством будет выходить с заявленной периодичностью 1 раз в неделю, в то время как сейчас порядка 1,5-2 раза в неделю. Недавно мы обсудили самый простой компонент - Label, сегодня мы поднимем занавес над компонентом ProgressBar. И по традиции обратимся к мануалу Flash.
Перевод: Using Components > Components Dictionary > ProgressBar component > About the ProgressBar component |
---|
О компоненте ProgressBarКомпонент ProgressBar показывает прогресс загрузки данных. Процесс загрузки может быть определенным и неопределенным. Определенный - линейное представление задачи прогресса через какое-то время и используется, когда объем загружаемых данных известен. Неопределенный используется, когда объем загружаемых данных не известен. Можно добавить текст, который будет показывать информацию о загружаемых данных. По умолчанию, компоненты экспортируются в первый кадр. Это означает, что компоненты будут загружены в фильм до начала проигрывания первого кадра. Если требуется создать предзагрузчик, то необходимо отключить экспорт в первый кадр в диалоге Linkage (он доступен в меню библиотеки фильма). Однако сам ProgressBar должен быть установлен для экспорта в первый кадр, чтобы полностью эмулировать предзагрузчик.
|
Перевод: Using Components > Components Dictionary > ProgressBar component > Using the ProgressBar component |
---|
Использование компонента ProgressBarProgressBar позволяет показывать прогресс загрузки данных. Имеется несколько способов
(режимов) использования компонента ProgressBar. Тип режима можно установить с помощью инспектора
свойств (параметр mode). Наиболее используемы два режима: event и polled. Первый режим использует
события продвижения (progress) и окончания (complete) загрузки данных (event - событие), второй
использует для своей работы методы Параметры ProgressBarДля каждого экземпляра компонента ProgressBar в инспекторе свойств или инспекторе компонента можно изменить следующие параметры:
Использование компонента ProgressBar в проектеСледующий план объясняет, как добавить компонент ProgressBar к фильму на этапе проектирования. В примере компонент работает в режиме event. В режиме event отображение прогресса загрузки данных основано на использовании событий progress и complete.
В следующем примере используется режим polled. В данном режиме отображение прогресса
осуществляется за счет применения методов
В следующем примере используется режим manual. Ручной режим управления подразумевает самостоятельную установку свойств maximum, minimum, indeterminate и использование метода setProgress() для отображения процесса загрузки данных.
|
Сводка класса ProgressBar вынесена в дополнительный материал. Напомню, что сводки классов включают перечень всех свойств, методов и событий рассматриваемого класса, в том числе и наследуемые.
А здесь мы рассмотрим свойства и методы, принадлежащие непосредственно классу ProgressBar.
Перевод: Using Components > Components Dictionary > ProgressBar component > ProgressBar.complete |
---|
ProgressBar.completeИспользование Вариант 1: on(complete){ ... } Вариант 2: listenerObject = new Object(); listenerObject.complete = function(eventObject){ ... } pBar.addEventListener("complete", listenerObject); Объект события В дополнении к стандартным свойствам объект события ProgressBar.complete имеет два специфичных свойства: current (текущее количество загруженных данных), и total (общие количество). Описание Событие; оповещает все зарегистрированные листнеры после завершения загрузки данных. Первый вариант обработки события использует синтаксис on() и должен быть расположен непосредственно
на экземпляре ProgressBar. Ключевое слово on(complete){ trace(this); } Второй вариант основан на использовании модели генератор-листенеры. Экземпляр компонента (pBar) генерирует
событие (в данном случае complete), и вызывает функцию обработчик листенера, имя которой совпадает с
названием события. При вызове функции ей передается объект события, который содержит информацию о
наступившем событии. С помощью метода Пример Регистрируется объект листенер для события complete. Реакция на произошедшее событие будет вывод сообщения в панель Output: form.complete = function(eventObj){ // eventObj.target is the component that generated the complete event, // i.e., the progress bar. trace("Current ProgressBar value = " + eventObj.target.value); } pBar.addEventListener("complete", form); |
ProgressBar.conversion
Свойство; Число, на которое будут разделены величины: количество загруженных байт и общие число байт. После этого полученный результат выводиться на экран в поясняющей строке компонента. Применяется для преобразования единиц измерения.
Берется пол от деления, т.е. число, округленное до меньшего целого (например, 4.6 возвращает 4).
ProgressBar.progress
Событие; происходит при изменении состояния процесса загрузки. Доступно два варианта использования: в стиле Flash 5 и на основе модели генератор-листенеры. Особенности применения аналогичны событию ProgressBar.complete. Только для режимов "manual" и "polled".
ProgressBar.setProgress(completed, total)
Метод; устанавливает текущее состояние процесса загрузки в режиме "manual". Первый параметр задает количество уже загруженных данных и связан со свойством value (доступно только для чтения). Параметр total - объем данных и связан со свойством maximum.
ProgressBar.source
Свойство; указатель на экземпляр, который будет загружен. Используется в режимах "event" и "polled". Компонент ProgressBar может использоваться данные в пределах приложения, включая _root.
Подведём итоги
Компонент ProgressBar является инструментом организации внешней загрузки данных,
например фильмов, картинок. Применяется для отображения состояния загрузки. Визуально представляет
собой графическую полосу прогресса с описательным текстом. Компонент может работать в трех режимах.
Первый - событийный (event), основан на том, что контейнер генерирует события progress и complete,
соответственно сообщая о получении новой порции данных и окончания загрузки. Второй режим - опрашиваемый
(polled), использующий методы getBytesLoaded()
и getsBytesTotal()
клипов для вычисления
состояния процесса загрузки. Используя данный режим можно, например, создать и внутренний предзагрузчик, указав в
качестве источника _root. Третий и последний режим - ручной (manual), применяется для самостоятельного отображения
загрузки данных. В описательном тексте вы можете выводить количество загруженных данных, их общий объем,
и процент загрузки, которые будут обновляться автоматически. Благодаря наличию особого параметра становится
возможным использовать любую размерность данных, которая будет высчитываться на лету. Можно было и не
упоминать тот факт, что имеется возможность изменять расположение текста и направление продвижения полосы
прогресса.
Применение компонента не должно вызывать труда, как всегда уязвимым местом становиться дополнительное увеличение размера фильма в случае использования компонентов. Откровенно говоря использования только одного конкретного компонента с размерной точки зрения не оправдано, правда здесь могут быть исключения, которые относятся к сложным компонентам, где быстрота разработки и получаемый результат с лихвой перекрывают затраты на дополнительный размер к фильму. В этом свете можно порекомендовать использовать компоненты в совокупности, что, в конечном счете, оправдает себя. Если подойти с другого края, то увеличение размера проекта - это плата за универсальность, и в итоге за сокращение время, затраченное на разработку. Одним из ярких примеров является VCL в Delphi, где наипростейшее приложение сделанное с использованием компонентов и непосредственно средств API отличается в размерах порядка 10-20 раз. Однако время создания может приближаться к этим же числам, только уже в другую сторону. Во Flash это не так ярко выражено, в связи с тем, что некоторые компоненты дублируют стандартные инструменты, добавляя новую функциональность, тем не менее ситуация аналогична. Поэтому вопрос относительно размера проекта с компонентами и без них будем считать закрытым.
На сегодня все. До встречи...
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: inet.webbuild.flashmx |
Отписаться
Вспомнить пароль |
В избранное | ||