flashdocs.net: все о macromedia flash 5, mx, 2004 pro, 8. Обучение: flash статьи flash уроки flash исходники flash софт, faq, а также flash мульты и flash игры
10.7.9. Обобщенные библиотеки
Обычно сложный Flash-сайт или игра представляет собой множество swf-фильмов, подгружаемых по мере необходимости в основной фильм. Подобный подход к организации проекта хорош всем,
кроме одной детали. Представьте, что несколько фильмов должны использовать один и тот же
элемент. Это может быть встроенный шрифт (чаше всего), стандартные детали интерфейса, звуко-
вое сопровождение. Из-за того, что подгруженный фильм не может получить элемент из библио-
теки фильма основного или библиотеки другого подгруженного фильма, получается, что данный
элемент придется поместить непосредственно в библиотеку самого фильма. Это приведет к тому,
что один и тот же элемент придется закачать столько раз, сколько фильмов его используют. В ре-
зультате может существенно возрасти суммарный «вес» проекта. Кроме того, усложнится его от-
ладка и модификация, так как одно и то же изменение придется вносить сразу в несколько филь-
мов.
Справиться с описанным недостатком позволяют так называемые обобщенные библиотеки (shared
libraries). Они представляют собой обычные swf-файлы, исполняющие роль хранилищ данных.
Любой другой swf-фильм может импортировать из удаленной библиотеки нужный ему символ,
который будет помешен в его собственную библиотеку. Это позволяет централизованно хранить
объекты, используемые одновременно несколькими фильмами проекта. Обобщенные библиотеки
особенно полезны в случае таких объектов, как встроенные шрифты, которые нельзя импортиро-
вать в форме внешних файлов, в отличие от фильмов, текста, МР3-звуков и видео.
Чтобы создать обобщенную библиотеку, нужно выполнить последовательность действий.
• Открываем новый fla-документ и создаем в нем все элементы, которые должна хранить
обобщенная библиотека.
• Каждый элемент следует связать с идентификатором, исходя из которого он будет импортиро-
ваться. Для этого задействуйте команду Linkage контекстного меню символа в библиотеке. В
появившемся окне Linkage Properties поставьте флажок Export for runtime sharing. При этом ста-
нет доступна строка Identifier. В ней следует прописать идентификатор (он не должен содер-
жать пробелы и специальные символы).
• В строку URL окна Linkage Properties следует ввести адрес, который будет соответствовать swf-
файлу обобщенной библиотеки. Адрес может быть как относительным, так и абсолютным. От-
носительные адреса оптимальны, если библиотека хранится там же, где и использующие ее
фильмы. Абсолютные адреса стоит применять, если библиотеку будут использовать фильмы с
других доменов.
• Закончив формирование библиотеки, нужно опубликовать swf-файл, назвав его так, как было
указано в строке URL окна Linkage Properties. Затем файл следует поместить по соответствую-
щему адресу.
Чтобы использовать элемент из удаленной библиотеки, нужно действовать следующим образом:
• В первую очередь нужно создать символ, который будет олицетворять элемент обобщенной
библиотеки в фильме, и при необходимости разместить его экземпляры нужным образом. Дан-
ный символ может иметь и не иметь собственное содержимое. При загрузке элемента из обоб-
щенной библиотеки собственное содержимое символа будет заменено.
• Далее следует связать символ с элементом обобщенной библиотеки. Для этого откройте окно
Linkage Properties с помощью команды Linkage контекстного меню символа в библиотеке. За-
тем поставьте флажок Import for runtime sharing. В ставшую при этом доступной строку
Identifier введите идентификатор элемента, который должен быть импортирован. Адрес swf-
файла обобщенной библиотеки пропишите в строке URL (он может быть как относительным,
так и абсолютным).
Импорт элемента из обобщенной библиотеки осуществляется тогда, когда плейер встречает кадр,
содержащий экземпляр олицетворяющего его символа. До тех пор пока элемент не закачается, пе-
реход к следующему кадру не осуществляется. По этой причине для профилактики больших за-
держек при проигрывании фильмы, использующие удаленные библиотеки, нужно воспроизводить
лишь по завершении загрузки.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах