Macromedia Flash Professional 8. Графика и анимация
Шрифт:
Вот пример использования метода load:
myLoadVars.load("http://site.ru/bin/program.exe");
Метод sendAndLoad одновременно отправляет серверной программе данные и получает от нее результат их обработки. Формат вызова этого метода:
<Экземпляр объекта LoadVars, отправляющий данные>. sendAndLoad ("<Интернет-адрес серверной прогрраммы>",
<Экземпляр объекта LoadVars, принимающий данные> [, "GET | POST"]);
Этот метод вызывается для того экземпляра объекта LoadVars,
Например:
mySendVars.sendAndLoad("http://site.ru/bin/program.exe", myLoadVars);
Для того чтобы узнать, получены ли данные, нужно обработать событие load объекта LoadVars, возникающее после получения всех данных. Функция-обработчик этого события должна принимать один логический параметр, обозначающий, успешно ли получены данные (значение true) или нет (false).
Вот пример функции-обработчика этого события:
myLoadVars.onLoad = function(isSucceed) {
if (isSucceed) {
_root.gotoAndStop(frameNumber);
}
}
Свойство loaded объекта LoadVars возвращает значение true, если данные были успешно получены, и false в противном случае. Если операция приема данных не была запущена, возвращается значение undefined.
Объект LoadVars предоставляет также еще два метода, которые можно использовать для отображения процесса загрузки данных. Метод getBytesLoaded возвращает количество загруженных байт данных. А метод getBytesTotal возвращает общий объем загружаемых данных в байтах. Оба эти метода возвращают значение undefined, если операция загрузки данных не была запущена или еще реально не началась. Метод getBytesTotal также возвращает значение undefined, если Web-сервер, под управлением которого работает серверная программа, не сообщил размер передаваемых данных.
Что дальше?
Вот и закончилась третья часть этой книги, посвященная Flash-программированию. Конечно, многое осталось нерассмотренным, но ведь эта книга посвящена графике и анимации, а для интересующихся ванием во Flash существуют другие книги и интерактивная справка, в которой описано абсолютно все.
Следующая глава будет посвящена оптимизации готовых изображений и фильмов перед их публикацией в формат Shockwave/Flash. Она совсем короткая.
Часть V
Публикация и экспорт графики. Прочие возможности Flash
Глава 20
Подготовка графики Flash к экспорту
Все хорошее когда-нибудь кончается… Не успели мы привыкнуть к нашему документу Flash, не успели как следует намучиться с ним, пытаясь заставить все работать, как надо, не успели насладиться сознанием своей власти и могущества, наконец добившись от него послушания, как его уже нужно отдавать заказчику. Как говорил персонаж одного старого мультфильма: "На самом интересном месте"…
У нас осталось совсем немного времени, чтобы проверить, все ли сделано правильно,
и нет ли каких ошибок. Не будем торопиться, но и мешкать тоже не стоит. Нужно использовать эти минуты как можно плодотворнее. Как? А вот как…Прежде всего, нам нужно будет оптимизировать наш фильм. Что такое оптимизация! Это довольно долгий и подчас трудоемкий процесс, состоящий в отыскивании скрытых ошибок и "узких мест" и устранении их. Оптимизировать фильм — это значит, задать правильные параметры экспорта импортированной растровой графики и звука, удалить ненужные образцы из библиотеки, ненужную графику на рабочем листе, проверить все созданные в фильме сценарии на предмет ошибок и исправить эти ошибки. Да, времени и труда оптимизация отнимает преизрядно, но после нее наш фильм будет выглядеть лучше, воспроизводиться плавнее, загружаться быстрее, а сценарии станут экономнее использовать память компьютера, не засоряя ее ненужными переменными.
Flash предоставляет мощные средства по выявлению "узких мест", препятствующих быстрой загрузке файла Shockwave/Flash и выводу его на экран. Воспользуемся ими для того, чтобы выяснить, какая часть фильма будет загружаться быстрее, а какая — медленнее. Располагая такими данными, мы сможем ускорить загрузку фильма, а значит, сделать его просмотр более плавным.
Второе, о чем нам следует позаботиться, — это доступность фильма (по-английски — accessibility). В терминологии Flash — это предоставление набора средств, с помощью которых мы можем сделать просмотр нашего фильма доступным для людей с различными физическими недостатками. В частности, мы можем сделать свой фильм доступным для пользователей с недостатками зрения. Специальное программное обеспечение через звуковую карту компьютера будет зачитывать им то, что находится на экране и в активном на данный момент поле ввода.
Начнем с оптимизации. Именно ее нужно провести в первую очередь.
Оптимизация фильма
Здесь мы рассмотрим средства, предлагаемые Flash для анализа процесса загрузки и воспроизведения фильма. Благодаря им мы сможем выявить "узкие места" нашего фильма. Также мы выясним, что можно сделать, дабы наши фильмы стали компактнее и быстрее.
Использование профилировщика загрузки для выявления "узких мест" фильма
Обычно проигрыватель Flash начинает воспроизведение фильма сразу же после того, как загрузит полностью несколько первых его кадров. В дальнейшем загрузка остальных кадров идет одновременно с воспроизведением. Благодаря такому подходу пользователю не нужно дожидаться, пока весь фильм будет загружен.
Однако если по каким-то причинам загрузка фильма будет приостановлена, проигрыватель Flash не сможет получить данные для дальнейшего воспроизведения этого фильма. Тогда в воспроизведении наступает пауза до тех пор, пока не будет получено достаточно данных для его продолжения.
Причин, по которым загрузка фильма может приостановиться, существует довольно много. Не последнее место в их ряду занимают проблемы с аппаратной частью компьютера и сетевым программным обеспечением. Например, при загрузке фильма из Интернета модем пользователя может внезапно оборвать соединение, или антивирус может не пропустить подозрительный с его точки зрения файл. В таком случае говорят о внешних причинах прерывания загрузки, с которыми мы ничего поделать не можем.
Однако мы способны устранить внутренние причины. Такими причинами могут быть: слишком большое растровое изображение, импортированное в фильм, большой звуковой файл, большой видеоклип и т. п. Понятно, что эти проблемы вызваны, в основном, слишком большими размерами импортированных файлов, которые проигрывателю Flash нужно загрузить и вывести на экран. А на эти размеры мы вполне можем влиять.