Глава 8
Образцы, экземпляры и библиотеки
В предыдущих главах мы много рисовали, редактировали, стирали, трансформировали, преобразовывали — в общем, не теряли времени даром. В этой главе мы рисовать не будем. Хватит, научились и рисовать, и править нарисованное, и даже стирать лишнее. Поговорим на этот раз о другом, а именно, об образцах и библиотеках и их использовании.
Рассмотрим такой достаточно часто встречающийся случай. Нам нужно поместить в изображение Flash множество одинаковых повторяющихся элементов. Для этого есть три пути. Первый: нарисовать каждый из этих элементов по отдельности, что, согласитесь, долго, трудоемко и просто глупо. Второй: нарисовать один элемент и продублировать его нужное количество раз, использовав пункт Duplicate меню Edit. Это намного проще и быстрее, так мы и поступим…
Стоп! А действительно ли — проще и быстрее? Хорошо, пусть мы все-таки создали изображение. А если нам срочно понадобится изменить все эти повторяющиеся элементы разом? Нам что же — придется все их перерисовывать?!
Но это еще полбеды. А главная беда в том, что размер результирующего файла Shockwave/Flash сильно увеличится. В самом деле, придется хранить в нем данные о каждом нарисованным нами однотипном элементе, которых в этом изображении очень много.
Есть ли выход из этой ситуации? Есть! Достаточно выбрать третий путь решения проблемы повторяющихся элементов. Он состоит из трех этапов.
1. Рисуем на рабочем листе первый из повторяющихся элементов нашего изображения.
2. Преобразуем нарисованный элемент в образец (в терминологии Flash — symbol) — своего рода шаблон для создания остальных повторяющихся элементов.
3. Создаем на рабочем листе нужное количество копий (экземпляров; в терминологии Flash — instance) созданного нами образца. Все — изображение готово!
Первое преимущество такого подхода налицо — становится очень просто создавать изображения с множеством повторяющихся элементов. Второе преимущество: поскольку данные экземпляра образца занимают совсем мало места, то размер результирующего файла Shockwave/Flash значительно уменьшится. Третье преимущество: чтобы изменить все повторяющиеся элементы изображения разом, нам достаточно будет исправить только образец, на основе которого они были созданы. Наконец, экземпляр образца — это "монолитный" фрагмент изображения, не подверженный фрагментации и слиянию, что во многих случаях может принести пользу.
А теперь — немного технических деталей. Созданный нами образец помещается Flash в особое хранилище, называемое библиотекой. Такая библиотека хранится в составе документа Flash. Каждому образцу дается при создании уникальное имя, по которому его можно опознать. Также образцу приписывается определенный тип, задающий его свойства.
Достаточно для начала. О других достоинствах образцов и их экземпляров мы поговорим далее, в процессе более подробного знакомства с ними. Также мы выясним, какие полезные сюрпризы припасли для нас библиотеки Flash.
Типы образцов Flash
Прежде всего нам необходимо познакомиться с типами образцов, поддерживаемых Flash. Каждый из этих типов обладает специфическими свойствами и имеет особую область применения. Всего этих типов пять.
Обычно тип образца задается при его создании, но впоследствии может быть изменен. При создании на основе образца экземпляра последний наследует от образца его тип. Однако мы можем изменить тип экземпляра, не затронув тип образца, — иногда без этого не обойтись.
Итак, перечислим пять типов образцов, поддерживаемых Flash.
□ Графический образец (в терминологии Flash — graphic) представляет собой обычное статичное или анимированное изображение. Его экземпляры обычно используются как части более сложных изображений. Это простейший из всех образцов.
□ Образец-кнопка (button) — это особый образец, представляющий собой обычную командную кнопку, аналогичную стандартной кнопке Windows. Экземпляры образцов-кнопок (они так и называются — кнопки) используются для создания графического пользовательского интерфейса в программах, написанных в среде Flash. Они будут рассмотрены во всех подробностях в главе 18,
□ Образец-клип (movie clip) — самый сложный и мощный из образцов Flash. Образец-клип представляет собой своего рода фильм, являющийся независимой частью другого изображения или фильма. Обычно экземпляры таких образцов (клипы) используются для создания сложной анимации или программ, поскольку позволяют управлять своим поведением из сценариев. Мы подробно изучим их использование в главе 13 и части IV этой книги.
□ Образец-шрифт используется достаточно редко и только в разделяемых библиотеках. Как мы помним из главы 7, при экспорте изображения Flash в формат Shockwave/Flash в результирующий файл помещаются описания всех использованных в изображении шрифтов. Вместо этого можно преобразовать используемые в изображении шрифты в образцы-шрифты, поместить их в разделяемые библиотеки и подключить к изображениям, их использующим. Подробно создание образцов-шрифтов, как и разделяемых библиотек, будет рассмотрено в конце этой главы. Кстати, образец-шрифт — единственный тип образца, на основе которого нельзя создать экземпляр.
□ Импортированный образец представляет импортированное в документ Flash растровое изображение, звук или видеоклип. Соответственно, импортированный образец может быть одного из трех подтипов: образец-растровое изображение (bitmap), образец-звук (sound) и образец-импортированный клип (embedded video). Все эти образцы будут рассмотрены в главах 10, 16 и 17.
Из рассмотренных нами типов образцов только первые три из них могут быть полностью созданы во Flash. Образцы-шрифты создаются на основе установленных на компьютере шрифтов, т. е. нам нужно будет сначала найти и установить нужный шрифт. Ну, а с импортированными образцами все ясно…
Создание образцов
Есть два пути создания образца. Во-первых, мы можем нарисовать на рабочем листе какую-либо фигуру, а потом превратить ее в образец и поместить в библиотеку. Во-вторых, мы можем создать "пустой" образец и поместить его в библиотеку, а уже потом "наполнить" его графическим содержимым.
Предположим, что у нас на рабочем листе уже что-то нарисовано (рис. 8.1). Давайте преобразуем это "что-то" в образец.
Прежде всего, преобразуемую в образец фигуру нужно выделить. После этого выберем пункт Convert to Symbol меню Modify, контекстного меню выделенного фрагмента изображения или нажмем клавишу <F8>. На экране появится небольшое диалоговое окно Convert to Symbol, показанное на рис. 8.2.
Как уже говорилось в самом начале этой главы, каждый образец должен иметь уникальное имя, по которому Flash сможет его однозначно идентифицировать. Имя образца может содержать практически любые символы: буквы русского и латинского алфавита, цифры, знаки препинания, символы подчеркивания и пробелы. Вводится оно в поле ввода Name.
С помощью группы переключателей Behavior задается тип образца: графический образец (переключатель Graphic), образец-кнопка (переключатель Button) или образец-клип (переключатель Movie clip).
Правее группы переключателей Behavior находится переключатель точки отсчета Registration. Точка отсчета, как мы помним из главы 4, — это точка, относительно которой будет вестись отсчет местоположения экземпляра этого образца и выполняться вращение экземпляра. Переключатель позволяет выбрать девять мест, куда можно поместить точку отсчета простым щелчком мыши на белой точке; по умолчанию она находится в левом верхнем углу образца и помечена черной точкой.
Закончив задание параметров образца, нажмем кнопку ОК, чтобы создать его. Если мы передумали создавать новый образец, нажмем кнопку Cancel.
После того как созданный нами образец будет добавлен в библиотеку, фрагмент изображения, на основе которого он был создан, станет его экземпляром. Так что наше изображение не будет испорчено.
Теперь, чтобы посмотреть на созданный образец, откроем панель Library (рис. 8.3). Для этого выберем пункт Library в меню Window или нажмем комбинацию клавиш <Ctrl>+<L>.
Эта панель разделена на две части. В нижней части находится список уже созданных образцов; мы можем выбирать эти образцы, щелкая мышью на их именах. Левее имен в этом списке находятся небольшие пиктограммы, обозначающие тип образца. В верхней же части панели находится область предварительного просмотра, где отображается содержимое образца, выбранного в нижней части панели. Мы можем менять размеры этих частей, передвигая мышью серую полосу, разделяющую их. И конечно, мы можем менять размеры самой панели Library.
Кстати, если на экране присутствует панель Library, мы можем просто перетащить в нее выделенный фрагмент изображения, чтобы превратить его в образец. В этом случае на экране также появится диалоговое окно Convert to Symbol (см. рис. 8.2), в котором мы сможем задать параметры создаваемого образца.
Подробнее панель Library и работу с ней рассмотрим далее в этой главе. Сейчас же давайте узнаем о втором способе создание образца — "с нуля".
Чтобы создать и поместить в библиотеку новый "пустой" образец, нужно выбрать пункт New Symbol меню Insert или нажать комбинацию клавиш <Ctrl>+<F8>. Если панель Library открыта, также можно выбрать пункт New Symbol в ее дополнительном меню или нажать кнопку которая находится в нижнем левом углу этой панели:
На экране появится диалоговое окно Convert to Symbol (см. рис. 8.2), в котором мы сможем задать параметры создаваемого образца.
После нажатия кнопки ОК окна Convert to Symbol рабочий лист очистится, и мы сможем нарисовать нужный образец. В центре листа виден небольшой черный крестик — это точка отсчета образца. К сожалению, мы не сможем переместить ее на другое место — вместо этого придется сместить сам нарисованный образец.
Закончив рисование образца, выберем пункт Edit Document в меню Edit или нажмем комбинацию клавиш <Ctrl>+<E>. Также можно нажать кнопку, расположенную в левой части инструментария документа:
Flash вернется в обычный режим работы — редактирование всего изображения. А в списке панели Library появится только что созданный нами образец.
Создание экземпляров
Что же до экземпляров, то они создаются совсем просто. Достаточно вывести на экран панель Library, выбрать в списке образцов этой панели нужный образец и перетащить его на рабочий лист. На листе будет создан новый экземпляр выбранного нами образца (рис. 8.4).
Обратим внимание, что созданный нами экземпляр выделен тонким синим прямоугольником выделения — как группа или примитив, нарисованный в режиме объектного рисования. Это значит, что мы не можем его править, как обычную графику; для этого придется исправить образец, на основе которого он был создан. Также обратим внимание, что в центре экземпляра небольшим кружком помечена его точка отсчета.
Работа с экземплярами
Flash позволяет изменить некоторые параметры созданных экземпляров. В частности, можно изменять их цвета, задавать различные трансформации и пр. Давайте поговорим об этом.
Прежде всего, мы можем управлять порядком перекрытия экземплярами друг друга. Как это делается, мы узнали еще в главе 4, так что не будем сейчас повторяться.
Задание цветового эффекта
Еще можно задавать для выделенного на рабочем листе экземпляра так называемый цветовой эффект. Например, мы можем изменить оттенок экземпляра или сделать его полупрозрачным.
Задание цветового эффекта для экземпляра выполняется с помощью раскрывающегося списка Color (рис. 8.5), который находится в панели Properties. Этот список содержит пять пунктов, задающих различные цветовые эффекты. Рассмотрим их по порядку.
Выбор пункта None убирает все цветовые эффекты, заданные для экземпляра ранее. Фактически этот пункт возвращает экземпляр в первоначальное состояние.
Выбрав пункт Brightness (как на рис. 8.5), мы можем изменить яркость экземпляра, т. е. общую яркость всех цветов всех примитивов, составляющих этот экземпляр. При выборе этого пункта правее раскрывающегося списка Color появится поле ввода с регулятором, в которое и вводится нужное значение яркости. При этом доступны значения от -100 % до 100 %; отрицательные значения делают экземпляр более блеклым, положительные — более ярким.
Пункт Alpha, будучи выбранным, позволит изменить общую прозрачность экземпляра. В этом случае правее раскрывающегося списка Color также появится поле ввода с регулятором, где задается значение прозрачности. Доступен ввод значений от 0 до 100 %. Чем меньше введенное значение, тем прозрачнее экземпляр; если же значение равно нулю, экземпляр становится полностью прозрачным, т. е. невидимым.
Если выбран пункт Tint, мы можем задать оттенок экземпляра, иначе говоря, цвет, который будет добавлен к цветам экземпляра. При выборе этого пункта в панели Properties появится несколько элементов управления, с помощью которых можно задать этот оттенок (рис. 8.6).
Задать нужный оттенок можно с помощью расположенного правее списка Color селектора цвета. Также можно ввести соответственно его красную, зеленую и синюю составляющие в поля ввода с регуляторами R, G и В, расположенными под списком Color.
Правее селектора цвета (см. рис. 8.6) находится еще одно поле ввода с регулятором. С его помощью мы можем задать степень окрашенности экземпляра выбранным нами оттенком. Допустимый диапазон значений — от 0 до 100 %. Чем больше это значение, тем сильнее преобладает заданный нами оттенок; нулевое значение задает полное его отсутствие, а выбор значения, равного 100 %, приводит к закраске этим оттенком всего экземпляра, полностью заглушая его изначальные цвета.
Последний пункт раскрывающегося списка Color — Advanced — позволяет задать самые сложные цветовые эффекты. Если его выбрать, в панели Properties появится кнопка Settings, при нажатии которой на экране появится диалоговое окно Advanced Effect, показанное на рис. 8.7.
Это диалоговое окно содержит четыре группы элементов управления, содержащие по два поля ввода с регулятором: Red, Green, Blue и Alpha. Они служат для изменения исходных цветов (красного, зеленого, синего) и прозрачности экземпляра соответственно. Это изменение задается следующим образом.
Возьмем для примера самую верхнюю группу полей ввода, задающую изменение красного цвета. Обозначим исходную долю красной составляющей Ro, значения, введенные в левое и правое поля ввода, — R и r, а окончательную долю красной составляющей — R1. Тогда окончательная доля данной составляющей будет вычисляться по формуле
R1 = R0 × R + r.
Предположим, например, что изначальная доля красной составляющей цвета экземпляра была 128, в левое поле ввода было введено значение 80 %, а в правое — 24. Тогда окончательная доля красной составляющей будет равна
128 × 0,8 + 24 = 126,4 ≈ 126.
Как видно, цвет экземпляра можно задавать достаточно точно. Это может очень пригодиться при создании анимации.
Трансформация экземпляров
Мы можем применить к экземпляру почти все трансформации, доступные для обычного фрагмента изображения, не являющегося экземпляром: вращение, изменение размеров, сдвиг и пр. Также мы можем изменить точку отсчета экземпляра. Все эти операции были описаны в главе 4.
Невозможно использовать только трансформации, сильно меняющие форму экземпляра. К ним относятся деформация (модификатор "огибающая" инструмента "трансформатор") и искажение формы (одноименный модификатор того же инструмента).
Сброс всех трансформаций, примененных к экземпляру
Из главы 4, посвященной трансформации фрагментов изображения, мы узнали, что можно отменить (сбросить) последнюю примененную к фрагменту трансформацию, выполненную с помощью панели Transform. В случае экземпляров Flash предоставляет такую же возможность, за двумя исключениями.
□ Сбрасывается не самая последняя, а все трансформации экземпляра. Это значит, что после выполнения операции сброса экземпляр принимает свой изначальный вид.
□ Сбрасываются все трансформации, а не только примененные через панель Transform.
Напомним, что для сброса трансформаций нужно выбрать пункт Remove Transform подменю Transform меню Modify или нажать комбинацию клавиш <Ctrl>+<Shift>+<Z>. Также можно нажать кнопку, расположенную в правом нижнем углу панели Transform:
Смена типа экземпляра
Нам уже известно, что каждый экземпляр наследует свой тип от породившего его образца. И еще нам известно, что можно сменить тип экземпляра, не меняя типа самого образца. Сейчас мы узнаем, как это делается.
Операция смены типа выделенного экземпляра выполняется с помощью все той же панели Properties. В ее левом верхнем углу находится раскрывающийся список (рис. 8.8), в котором доступны три пункта: Graphic (Графический образец), Button (Образец-кнопка) и Movie Clip (Образец-клип). Назначение этих пунктов понятно без дополнительного разъяснения.
Обратим внимание — возможно сменить тип экземпляра только на один из тех трех типов, образцы которых могут быть созданы в среде Flash. А вот, скажем, превратить графический образец в импортированный образец или образец-шрифт мы не сможем — у этих типов совсем другая природа.
Смена породившего экземпляр образца
Иногда бывает необходимо сменить образец, на основе которого был создан экземпляр, на другой, сохранив при этом все выполненные над экземпляром преобразования. Для этого достаточно выделить нужный экземпляр и нажать в панели Properties кнопку Swap, после чего на экране появится диалоговое окно Swap Symbol (рис. 8.9). Также можно выбрать пункт Swap Symbol подменю Symbol меню Modify или в контекстном меню выделенного экземпляра.
В списке, занимающем большую часть этого диалогового окна, перечислены все имеющиеся в библиотеке текущего Flash-документа образцы. Образец, на основе которого был создан выделенный экземпляр, помечен хорошо заметной черной точкой.
Выберем в списке нужный образец. В небольшой области предварительного просмотра, расположенной левее и выше списка, будет показано его содержимое, так что мы всегда сможем выяснить, тот ли образец выбран. После этого нам останется только нажать кнопку ОК, чтобы выполнить смену образца, или кнопку Cancel для отказа от этого.
Разбиение экземпляра (преобразование в обычную графику)
Можно выполнить разбиение экземпляра, превратив его в обычную графику. После этого мы можем применять к полученному фрагменту изображения любые трансформации, даже использовать те инструменты, которые Flash не позволяет применять к экземплярам.
Операция разбиения экземпляра выполняется уже знакомым нам по главе 3 способом. Выделяем нужный экземпляр и либо выбираем пункт Break Apart меню Modify или контекстного меню выделенного экземпляра, либо нажимаем комбинацию клавиш <Ctrl>+<B>. В результате Flash превратит этот экземпляр в обычную графику и выделит ее.
Работа с образцами
Мы научились работать с экземплярами, созданными на основе образцов. Давайте теперь выясним, как работать с самими образцами.
Правка образцов
Разумеется, время от времени мы будем править созданные нами образцы. В конце концов, нечасто удается сделать все так, как надо.
Flash предоставляет целых три способа исправить образец:
□ в обычном режиме правки образца;
□ "на месте";
□ в отдельном окне документа Flash.
Мы можем выбрать любой из этих способов.
Проще всего переключиться в режим правки образца "на месте" (рис. 8.10). При этом мы сможем исправить образец прямо на рабочем листе, где находится наше изображение. Вся окружающая образец графика станет недоступной для выделения и правки; мы сможем править только сам образец.
Чтобы переключиться в режим правки образца "на месте", нужно дважды щелкнуть по любому созданному на его основе экземпляру. Также можно выделить нужный экземпляр и выбрать пункт Edit in Place меню Edit или контекстного меню экземпляра.
Режим правки образца в отдельном окне документа Flash обладает тем преимуществом, что мы можем править образец, одновременно с ним имея перед глазами основное изображение. Конечно, для этого нам придется изменить размеры открытых окон Flash и переместить их, чтобы были видны и основное изображение, и исправляемый образец. (Как это сделать, было описано в главе 2.). Правда, не всем может понравиться, если в одной программе будет открыто слишком много окон…
Чтобы переключиться в режим правки образца в новом окне, достаточно выделить любой экземпляр, созданный на основе этого образца, и выбрать пункт Edit in New Window в его контекстном меню. При этом окно документа, в котором будет открыт образец, получит заголовок вида:
<Имя файла документа>.fla: < Порядковый номер образца>.
Так что мы сразу поймем, что открыто в этом окне.
Обычный режим правки образца — это такой режим, при котором Flash скрывает основное изображение, выводя на его место исправляемый образец. Так что мы будем видеть перед собой только выбранный для исправления образец — и больше ничего.
Переключиться в обычный режим правки образца можно одним из следующих способов:
□ выделив любой экземпляр этого образца и выбрав пункт Edit Symbols меню Edit или нажав комбинацию клавиш <Ctrl>+<E>;
□ выделив экземпляр и выбрав пункт Edit Selected того же меню;
□ выбрав пункт Edit в контекстном меню выделенного экземпляра;
□ нажав расположенную в правой части инструментария документа кнопку Edit Symbols и выбрав имя нужного образца в появившемся на экране меню (рис. 8.11);
□ дважды щелкнув либо на пиктограмме слева от имени нужного образца в списке панели Library (см. рис. 8.3), либо на его изображении в области предварительного просмотра этой же панели;
□ выделив нужный образец в списке панели Library и выбрав пункт Edit в контекстном меню этого списка или дополнительном меню панели.
Для правки образца можно применять все уже знакомые нам приемы работы с графикой. Единственное исключение: не удастся изменить точку отсчета образца штатными средствами. Для этого придется выделить весь образец
и переместить его так, чтобы точка фиксации пришлась на другое, нужное нам, место образца. (Однако штатными средствами мы можем изменить точку отсчета у любого экземпляра этого образца.)
Чтобы выйти из режима редактирования образца, проще всего выбрать пункт Edit Document меню Edit, нажать комбинацию клавиш <Ctrl>+<E> или щелкнуть по кнопке, расположенной в левой части инструментария документа:
Если мы используем режим правки образца "по месту", то можем дважды щелкнуть мышью в области рабочего листа где-нибудь вне образца. Если же мы выбрали режим правки образца в отдельном окне документа, просто закроем это окно.
Дублирование образцов
Часто бывает нужно создать новый образец, лишь слегка отличающийся от уже имеющегося. В этом случае проще и быстрее всего выполнить дублирование образца, а потом уже исправить полученный дубликат.
Чтобы создать дубликат имеющегося в библиотеке образца, сначала нужно будет выделить любой созданный на его основе экземпляр. Далее следует выбрать пункт Duplicate Symbol подменю Symbol меню Modify или контекстного меню выделенного экземпляра. На экране появится диалоговое окно Duplicate Symbol (рис. 8.12).
Ну, здесь и объяснять-то нечего. Вводим в единственное поле ввода Symbol name имя создаваемого образца-дубликата и нажимаем кнопку ОК. Если мы передумали дублировать образец, нажмем кнопку Cancel.
После этого Flash выполнит следующие действия. Сначала он создаст новый образец, являющийся полной копией того, на основе которого был создан выделенный нами экземпляр. Далее он автоматически заменит образец, на основе которого был создан этот экземпляр, только что созданным образцом-дубликатом. Наконец, он выделит этот экземпляр, и нам останется только дважды щелкнуть на нем и внести во вновь созданный образец нужные исправления.
Если на экране присутствует панель Library, мы можем выделить нужный образец в ее списке и выбрать пункт Duplicate в контекстном или дополнительном меню этой панели. На экране появится диалоговое окно Duplicate Symbol, которое в этом случае будет похоже на уже знакомое нам диалоговое окно Convert to Symbol (см. рис. 8.2). Зададим в нем имя создаваемого образца и его тип и нажмем кнопку ОК — образец-дубликат будет создан. Однако создавать новые экземпляры на основе этого образца нам уже придется самим.
Панель Library
Настало время познакомиться с этой панелью поближе. Хватит ходить вокруг да около!..
Начнем со списка образцов. Если внимательно к нему присмотреться, можно заметить, что он представляет собой таблицу, состоящую из множества колонок. Перечислим все имеющиеся в списке колонки:
□ Name — имя образца;
□ Kind — ТИП образца (Graphic, Button, Movie Clip, Bitmap, Sound ИЛИ Font);
□ Use Counts — количество экземпляров, созданных на основе этого образца; если же ни одного экземпляра создано не было, отображается прочерк;
□ Linkage — состояние разделяемого или импортированного образца (о разделяемых и импортированных образцах будет рассказано далее в этой главе);
□ Date Modified — дата и время последней правки образца.
Бывает, что значения, отображаемые в колонке Use Counts списка образцов, не всегда соответствуют действительности. Например, мы можем создать на рабочем листе несколько экземпляров какого-либо образца и обнаружить, что в соответствующей колонке против его имени стоит прочерк. В этом случае достаточно выбрать пункт Update Use Counts Now дополнительного меню панели — и значения в колонке Use Counts отобразят реальное положение дел.
Для включения (выключения) автоматического обновления значений в колонке Use Counts при каждом создании и удалении экземпляров служит пункт-выключатель Keep Use Counts Updated. По умолчанию этот пункт выключен. Включать его тоже нужно осторожно, так как постоянное обновление значений в этой колонке отнимает системные ресурсы, которых всегда не хватает.
Но вернемся к списку образцов. Мы можем изменять ширину любой его колонки, перетаскивая мышью ее правую границу. Также можно сортировать пункты списка по значению какой-либо колонки, для чего достаточно щелкнуть на заголовке этой колонки. А кнопка, расположенная правее списка вровень с заголовками колонок, позволит нам изменить порядок сортировки на противоположный:
Ниже кнопки изменения порядка сортировки находятся еще две кнопки, показанные на рис. 8.13. Это кнопки быстрого изменения размера панели Library. Верхняя кнопка расширяет панель так, чтобы был виден весь список образцов со всеми его колонками (правда, в этом случае панель может занять весь экран, так что осторожнее с этой кнопкой). Нижняя же кнопка сужает панель так, чтобы была видна только колонка имен образцов. И конечно, мы можем сами менять размер панели Library.
Над областью предварительного просмотра панели Library отображается небольшая строка статуса. В ней показывается общее количество образцов, имеющихся в библиотеке (в это число входят также все папки, о которых рассказывается далее в данной главе).
Щелкнув в области предварительного просмотра правой кнопкой мыши, мы вызовем на экран небольшое контекстное меню. Включив в нем пункт-выключатель Show Grid, мы зададим показ в этой области координатной сетки. А пункты-переключатели Movie’s Background и White Background задают фон области предварительного просмотра: заданный в параметрах документа и белый соответственно.
Управление образцами
Мы уже знаем, как добавлять в библиотеку новые образцы, как их править и изменять их тип. Давайте поговорим о других действиях, которые можно выполнить над образцами.
Можно выделять в списке сразу несколько образцов. Для этого следует выбрать щелчком первый образец из нужных нам, нажать клавишу <Ctrl> и, удерживая ее, продолжить щелкать на остальных образцах, которые требуется выделить. Можно также щелкнуть на первом образце, нажать клавишу <Shift> и, удерживая ее, щелкнуть на другом, — все образцы, находящиеся в списке между этими двумя, будут выделены.
Мы можем переименовать любой образец, независимо от того, были ли на его основе созданы экземпляры или нет. Для этого достаточно дважды щелкнуть на имени (не на пиктограмме) нужного образца в списке. (Можно также выделить нужный образец и либо воспользоваться пунктом Rename контекстного меню списка или дополнительного меню панели, либо просто нажать клавишу <F2>.) Вместо имени этого образца появится небольшое поле ввода, в котором будет подставлено старое имя. Введем туда новое имя и нажмем клавишу <Enter> для его сохранения или <Esc> для отказа от изменения имени.
После переименования образца, на основе которого уже были созданы экземпляры, эти экземпляры все равно останутся привязанными к нему. Так что мы можем сколько угодно переименовывать образцы, не опасаясь нарушить их связи с экземплярами.
Чтобы удалить ненужный образец, его следует выделить в списке панели Library и выбрать пункт Delete в контекстном или дополнительном меню или нажать кнопку Delete, находящуюся на нижней кромке панели:
Внимание!
Образец удаляется без всякого предупреждения. Более того, все основанные на нем экземпляры также будут удалены с рабочего листа, и также без предупреждения. Если нужно вернуть удаленный образец и все основанные на нем экземпляры, следует выполнить описанную в главе 3 операцию "отката".
Flash также позволяет быстро выделить все образцы, на основе которых не было создано ни одного экземпляра, — для этого достаточно выбрать пункт Select Unused Items в дополнительном меню панели. Впоследствии эти образцы можно будет удалить, если они нам действительно не нужны.
Мы можем изменить имя и тип любого образца, воспользовавшись диалоговым окном Symbol Properties, похожим на уже знакомое нам диалоговое окно Convert to Symbol (см. рис. 8.2). Чтобы вызвать его на экран, следует выделить нужный образец в списке панели и выбрать пункт Properties контекстного меню или дополнительного меню. Также можно щелкнуть по кнопке Properties, расположенной на нижней границе панели Library:
Новое имя образца вводится в поле ввода Name. Для задания типа образца используется группа переключателей Behavior. (Точку отсчета образца в этом случае мы изменить не сможем.) Задав новые данные, нужно нажать кнопку ОК для их сохранения или Cancel для отказа от них.
Кстати, в диалоговом окне Symbol Properties доступна, кроме всего прочего, кнопка Edit. Нажав эту кнопку, мы сможем исправить образец в обычном режиме правки.
Тип образца можно сменить, воспользовавшись подменю Туре, доступным в контекстном (но не дополнительном) меню. Пункт-переключатель Graphic превращает выбранный в списке образец в графический, пункт Button — в образец-кнопку, а пункт Movie Clip — в образец-клип.
Если в списке образцов выбран образец-клип или образец-звук, мы можем воспроизвести его прямо в области предварительного просмотра панели Library. Для этого выделим нужный образец в списке и выберем пункт Play контекстного или дополнительного меню. Чтобы остановить воспроизведение, воспользуемся пунктом Stop, также находящимся в контекстном или дополнительном меню. Но удобнее будет воспользоваться кнопками, находящимися в верхнем правом углу области предварительного просмотра:
Правая кнопка запускает воспроизведение, а левая — останавливает его.
Использование папок
В главе 5, посвященной слоям, мы познакомились с папками. Эти папки, подобно папкам файловой системы нашего компьютера, позволяют объединить слои, хранящие сходную по назначению графику, в единое целое. Часто это бывает полезно, особенно если мы создаем очень сложное изображение.
Точно так же, как и слои, можно "складывать" в папки образцы, хранящиеся в библиотеке. Давайте же выясним, как это делается.
Самый простой путь создать новую папку и сразу же поместить в нее выделенный в списке панели Library образец — это выбрать пункт Move to New Folder контекстного или дополнительного меню. На экране в этом случае появится диалоговое окно New Folder (рис. 8.14). Введем в единственное поле ввода Name имя создаваемой папки и нажмем кнопку ОК. (На имена папок накладываются те же ограничения, что и на имена образцов.) Чтобы отказаться от создания новой папки, нажмем кнопку Cancel.
Созданная нами папка сразу же появится в списке образцов панели Library (рис. 8.15). В колонке Kind списка образцов против имени папки будет стоять слово Folder (папка).
Щелкая на значке папки, мы можем раскрыть или закрыть ее. Для этого также можно пользоваться следующими пунктами контекстного и дополнительного меню панели Library:
□ Expand Folder — раскрывает выделенную папку;
□ Collapse Folder — закрывает выделенную папку;
□ Expand All Folders — раскрывает все папки;
□ Collapse All Folders — закрывает все папки.
К сожалению, поместить описанным выше способом другой образец в уже существующую папку мы не сможем. Если ввести в поле Name диалогового окна New Folder имя уже существующей папки, Flash откажется ее создавать. Поэтому для "разбрасывания" файлов по уже созданным папкам нужно пользоваться приемами, знакомыми нам по главе 5. Так, чтобы поместить образец в папку, его нужно перетащить на значок папки или на один из образцов, уже находящихся в ней. Чтобы "вынести" образец из папки, достаточно перетащить его куда-нибудь за пределы папки.
Чтобы просто создать новую "пустую" папку, проще всего нажать кнопку New Folder, находящуюся на нижней кромке панели Library:
Также можно выбрать пункт New Folder в дополнительном меню этой панели.
В списке образцов появится небольшое поле ввода; введем в него имя новой папки и нажмем клавишу <Enter>. Если же нажать клавишу <Esc>, новая папка получит имя вида untitled folder <Порядковый номер>.
Мы можем создать новый образец сразу в какой-либо папке. Для этого, перед тем как создать этот образец, выберем в нужной папке любой из уже находящихся в ней образцов.
Разумеется, Flash позволяет вкладывать одни папки в другие. Для этого достаточно переместить мышью одну папку на значок другой папки или на значок любой папки или образца, что вложены в эту папку.
Мы можем переименовать любую папку. Выполняется это так же, как переименование образца.
Точно так же — как в случае с образцом — выполняется удаление ненужной папки. Однако здесь нужно иметь в виду, что при удалении папки будут также удалены все находящиеся в ней образцы и папки.
Ранее было сказано, что каждый образец в библиотеке должен иметь уникальное имя. Это не совсем верно. На самом деле уникальные имена должны иметь все образцы, находящиеся в одной папке. Здесь опять прослеживается аналогия с файловой системой компьютера: на диске может находиться сколько угодно файлов с одинаковыми именами, если они при этом "разбросаны" по разным папкам. Такая структура может быть очень удобной: скажем, образцы одинакового назначения, находящиеся в разных папках, могут иметь одинаковые имена.
Но что случится, если мы переместим в какую-либо папку образец, имеющий то же имя, что и уже существующий в этой папке? В этом случае возникнет так называемый конфликт имен образцов, и Flash выведет диалоговое окно Resolve Library Conflict, показанное на рис. 8.16.
Если мы хотим сохранить оба этих образца, выберем переключатель Don't replace existing items. В этом случае перемещенный нами образец получит имя вида <старое имя> сору. Если же нужно, чтобы перемещенный образец заместил существовавший в папке, мы выберем переключатель Replace existing items. (Нужно только помнить, что ранее существовавший в папке образец будет удален безвозвратно.) После этого остается нажать кнопку ОК, чтобы выполнить перемещение образца, или Cancel, чтобы отказаться от него.
Совместное использование образцов и библиотек
В свете последних тенденций глобализации и международного разделения труда будет нелишним разговор о совместном использовании образцов и целых библиотек. Речь в данном разделе пойдет о том, как сделать наши образцы доступными для других разработчиков.
Предположим, что мы работаем в большой организации, занимающейся созданием фильмов в среде Flash, в этакой Flash-киностудии. И каждый такой фильм создается несколькими людьми: один рисует персонажи, другой готовит фоновую графику, третий анимирует все, что должно двигаться, пятый занимается озвучиванием и т. д. Кино — искусство коллективное, и "сочинить" полнометражный фильм одному человеку крайне сложно. (Хотя, в принципе, возможно, что нам постоянно пытаются доказать мученики киноандерграунда.)
Допустим, наша работа — получить готовые персонажи и поместить их на готовую "сцену", где уже имеется фоновая графика. Рисовальщик персонажей передает нам документ Flash, в библиотеке которого содержатся эти самые персонажи в виде образцов. Затем специалист по фоновой графике приносит нам другой документ, куда мы должны поместить эти персонажи. И оба с чувством выполненного долга отправляются пить кофе (или что там пьют художники?). Теперь дело за нами.
К счастью, Flash предоставляет возможность открыть библиотеку другого документа и позаимствовать из нее нужные образцы. Это делается очень просто, а как — мы скоро узнаем.
Хорошо, мы это сделали! Но наши мучения не закончились. Едва мы успели скопировать персонажи в основной документ, приходит начальник и с сияющей улыбкой начинает излагать очередную свою (или чужую, выданную за свою) идею. Заключается она в следующем.
Пусть фильм, в создании которого мы принимаем участие, состоит из нескольких файлов Shockwave/Flash: Эпизодl.swf, Эпизод2.swf и т. д. Соответственно, все персонажи, участвующие более чем в одном эпизоде, встречаются сразу в нескольких файлах. А нельзя ли их как-то вынести из этих файлов и поместить в отдельный файл? Налицо две выгоды от такого подхода. Во-первых, файлы Shockwave/Flash, составляющие фильм, получатся меньшими по размерам за счет того, что персонажи будут храниться не в каждом из этих файлов, а только в одном. Во-вторых, чтобы внести в облик какого-либо персонажа изменения — например, поменять ему прическу, достаточно будет изменить всего один файл и повторно его экспортировать.
Что мы ответим начальнику? Правильно — да! Запросто! Благо, Flash позволяет создавать разделяемые образцы и библиотеки. О них мы тоже поговорим в этой главе.
Копирование образцов из документа в документ
Самый удобный способ позаимствовать чужой образец — просто скопировать его из библиотеки нужного документа. Как мы уже знаем, Flash — многодокументное приложение, позволяющее открыть сразу несколько документов. Это значит, что мы можем открыть во Flash сразу два нужных нам документа и скопировать образцы из библиотеки одного документа в библиотеку другого.
Но как это сделать? Ведь панель Library всего одна! И отображает она содержимое библиотеки только того документа, что открыт в активном окне. А нам нужно иметь две панели — чтобы просматривать содержимое библиотек всех открытых документов!
Давайте взглянем на панель Library (см. рис. 8.3). Точнее, на небольшой инструментарий, находящийся в самой верхней ее части, выше строки статуса, где отображается количество образцов в библиотеке. Первое, что мы увидим, — это большой раскрывающийся список, показанный на рис. 8.17. В этом списке перечислены все открытые нами во Flash документы. Просто выбираем нужный — и панель Library выведет содержимое его библиотеки.
Это, конечно, замечательно, но как же вывести на экран содержимое сразу двух библиотек? А вот как. Нажмем кнопку New library panel, находящуюся в правой части небольшого инструментария панели Library:
На экране появится вторая панель Library, изначально отображающая содержимое библиотеки того же документа, что и первая. Выбираем в раскрывающемся списке открытых документов этой панели нужный — и получаем то, что нам надо (рис. 8.18). Теперь мы можем перетаскивать образцы из одной библиотеки в другую.
Собственно, нам совсем не обязательно открывать на экране несколько панелей Library. Мы можем просто перетащить экземпляры с рабочего листа одного документа на рабочий лист другого (конечно, в этом случае следует позаботиться о том, чтобы окна обоих документов были видны на экране) или скопировать их через буфер обмена. Flash при этом также выполнит копирование соответствующих образцов.
Если мы скопируем в библиотеку другого документа образец, имя которого совпадает с именем уже имеющегося в этой библиотеке образца, снова возникнет конфликт имен. На экране появится уже знакомое нам диалоговое окно Resolve Library Conflict (см. рис. 8.16), с помощью которого мы сможем указать Flash, как разрешить этот конфликт.
Иногда бывает нужно, чтобы при переключении между открытыми документами Flash панель Library всегда отображала содержимое библиотеки только одного документа. В этом случае мы переключимся в нужный документ и включим кнопку-выключатель Pin current library,находящуюся в инструментарии этой панели:
Мы можем открыть нужный документ не целиком, а только его библиотеку. Для этого достаточно выбрать пункт Open External Library подменю Import меню File или нажать комбинацию клавиш <Ctrl>+<Shift>+<0>. На экране появится стандартное диалоговое окно открытия файла Windows; выберем в нем файл документа Flash, из которого хотим позаимствовать образцы, и нажмем кнопку открытия.
Обновляемые образцы
Присвоить чужой образец — оно, конечно, хорошо… Но вот что делать, если создатель этого образца изменил его? Скопировать повторно? Можно, конечно, поступить и так, но есть способ получше. А именно, можно заставить Flash автоматически проверять документ Flash, из которого мы скопировали образец, на предмет обновления, и самому выполнять копирование исправленных образцов.
Давайте введем пару терминов, которыми будем пользоваться в дальнейшем. Изначальный образец, изменения в котором мы хотим отслеживать, назовем образцом-источником. А скопированный нами образец, находящийся в нашем документе, назовем обновляемым образцом. Flash перед экспортом готового изображения в формат Shockwave/Flash самостоятельно или по нашей указке проверит, изменился ли образец-источник, и, если он изменился, снова скопирует его в библиотеку нашего документа, обновив соответствующий ему изменяемый образец.
Как сделать образец обновляемым? Очень просто. Сначала выведем на экран панель Library. Выделим в списке нужный образец и выберем пункт Properties контекстного или дополнительного меню, чтобы вызвать диалоговое окно Symbol Properties. Нажмем кнопку Advanced, расположенную в нижней части этого окна. Диалоговое окно Symbol Properties развернется в свой "полный" вид (рис. 8.19).
В левом нижнем углу этого диалогового окна видна кнопка Browse. Нажмем ее. На экране появится стандартное диалоговое окно открытия файла Windows. Выберем файл документа, в котором находится образец-источник, и нажмем кнопку открытия. После этого на экране появится диалоговое окно Select Source Symbol, внешне похожее на окно Swap Symbol (см. рис. 8.9). Выберем в списке этого окна нужный образец-источник и нажмем кнопку ОК.
Последнее, что нам останется, — это нажать кнопку ОК окна Symbol Properties. Но перед этим настоятельно рекомендуется включить флажок Always update before publishing этого окна. Тогда Flash будет сам проверять образец-источник на предмет обновления перед экспортом нашего документа. Если мы не включим этот флажок, то сами должны будем запускать процесс проверки.
Чтобы выполнить обновление всех образцов вручную, нужно выбрать пункт Update контекстного меню или дополнительного меню панели Library. На экране появится диалоговое окно Update Library Items (рис. 8.20).
Большую часть этого окна занимает список созданных нами обновляемых образцов. Каждый пункт этого списка имеет флажок, включив который, можно задать обновление для данного образца. (Изначально все эти флажки включены.) Процесс обновления запускается нажатием кнопки Update. Чтобы закрыть после этого окно Update Library Items, нужно нажать кнопку Close.
К несчастью, Flash никак не помечает обновляемые образцы в списке панели Library. Так что если мы захотим проверить, является ли какой-либо образец обновляемым, придется вызвать на экран диалоговое окно Symbol Properties. Если данный образец является обновляемым, в нижней части этого окна, над флажком Always update before publishing будут стоять имя файла документа Flash, содержащего образец-источник, и имя этого образца. Ну, и будет включен флажок Always update before publishing.
Вот теперь обновляемый образец создан. Мы можем проверить, действительно ли Flash отследит все обновления в этом образце.
Впоследствии мы можем изменить для любого обновляемого образца как образец-источник, так и файл документа Flash, в библиотеке которого он хранится. Для этого нужно открыть диалоговое окно Symbol Properties, нажать кнопку Symbol, выбрать нужный образец в диалоговом окне Select Source Symbol и нажать кнопку ОК. Чтобы изменить файл документа, следует нажать кнопку Browse и выбрать нужный файл в стандартном диалоговом окне открытия файла Windows.
Разделяемые образцы
А еще Flash позволяет создавать разделяемые образцы. Такие образцы, будучи созданными в каком-либо изображении, могут быть использованы затем любым другим изображением Flash. При этом разделяемые образцы вообще не присутствуют в библиотеках использующих их изображений, а загружаются из библиотеки изображения, в котором они созданы.
Библиотека изображения Flash, содержащая разделяемые образцы, называется разделяемой библиотекой. Как правило, такое изображение не содержит никакой графики — только саму разделяемую библиотеку, так что называть его изображением не совсем корректно.
Обычно в виде разделяемых образцов выполняют фрагменты графики, использующиеся сразу в нескольких изображениях Flash. Таким образом, во-первых, мы можем сильно сократить размеры результирующих файлов Shockwave/Flash, ведь все эти элементы будут присутствовать только в одном-единственном файле, содержащем разделяемую библиотеку. И, во-вторых, нам не придется создавать эти фрагменты во всех использующих их изображениях.
Разговор о разделяемых образцах будет долгим.
Создание разделяемых образцов
Начнем с создания разделяемых образцов. Сначала выделим в списке панели Library образец, который хотим сделать разделяемым, и вызовем на экран диалоговое окно Symbol Properties. Щелкнем по кнопке Advanced, чтобы развернуть его в "полный" вид (см. рис. 8.19). И рассмотрим элементы управления, расположенные в группе Linkage.
Первое, что нам понадобится, — это включить флажок Export for runtime sharing. Именно после этого Flash превратит выделенный образец в разделяемый. Нам останется только задать пару параметров, которые мы сейчас рассмотрим.
Прежде всего, каждый разделяемый образец должен иметь уникальный идентификатор. Использующие этот образец изображения применяют этот идентификатор, чтобы загрузить нужный им образец из разделяемой библиотеки.
На идентификатор разделяемого образца накладываются такие же ограничения, что на имена образцов, за тем исключением, что он не может содержать пробелов. Кроме того, идентификаторы разделяемых образцов должны быть уникальными в пределах всей библиотеки, в отличие от имен образцов, которые должны быть уникальны только в пределах папки.
Flash создаст идентификатор разделяемого образца сам, как только мы включим флажок Export for runtime sharing, и подставит его в поле ввода Identifier. Сформированный Flash идентификатор будет совпадать с именем образца, лишенным пробелов. Мы можем оставить его неизменным, а можем изменить.
Кроме идентификатора, Flash обязательно требует, чтобы мы ввели интернет-адрес, по которому будет находиться создаваемая нами разделяемая библиотека. Этот интернет-адрес вводится в поле ввода URL. Конечно, если мы точно знаем, где именно опубликуем разделяемую библиотеку, то обязательно его введем. В противном случае лучше ввести туда, скажем, интернет-адрес http://local host/ — он обозначает интернет-адрес компьютера, на котором мы сейчас работаем (локальный хост).
Задав нужные параметры, нажмем кнопку ОК. И повторим все перечисленные выше операции для всех образцов, которые хотим сделать разделяемыми. (Обычно разделяемая библиотека включает в себя несколько разделяемых образцов.) Чтобы отказаться от создания разделяемого образца, мы нажмем кнопку Cancel.
После этого посмотрим на список образцов панели Library, а точнее, на колонку Linkage этого списка. У неразделяемого образца в этой колонке будет СТОЯТЬ прочерк, а У разделяемого — СЛОВО Export: <Идентификатор разделяемого образца>. Так что мы сразу увидим, какие образцы превратили в разделяемые.
Есть и еще один способ создания разделяемых образцов. Выделим в списке панели Library нужный образец и выберем пункт Linkage контекстного или дополнительного меню этой панели. На экране появится диалоговое окно Linkage Properties (рис. 8.21).
Как видим, это окно содержит элементы управления, знакомые нам по группе Linkage окна Symbol Properties. Так что не будем повторяться.
Собственно, наша первая разделяемая библиотека почти готова. Осталось только экспортировать ее в формат Shockwave/Flash (о том, как это делается, см. главу 21).
Дальнейшие действия по созданию разделяемой библиотеки уже не связаны с Flash. Они включают в себя, прежде всего, помещение готовой разделяемой библиотеки (файла в формате Shockwave/Flash) на какой-либо Web-сервер. Если же мы собираемся распространять свои Flash-творения другим способом, например, на компакт-дисках, то нужно будет записать файл разделяемой библиотеки на эти диски. Одним словом, мы должны сделать свою разделяемую библиотеку доступной.
Нужно только иметь в виду вот что. Во-первых, если проигрыватель Flash не сможет загрузить файл разделяемой библиотеки, он не сможет и правильно отобразить изображение, использующее разделяемые образцы. Во-вторых, проигрыватель Flash всегда загружает разделяемую библиотеку целиком, даже если ему нужен всего один образец, поэтому не следует делать такие библиотеки слишком большими.
Использование разделяемых образцов
Итак, наша разделяемая библиотека готова. Мы опубликовали ее на Web-сервере или распространили иным способом, например, на дискетах или по электронной почте. И теперь наш коллега хочет использовать один из содержащихся в ней разделяемых образцов. Что он для этого должен сделать?
Нужно сразу сказать, что использовать разделяемые образцы в своем документе он может двумя способами. Выбор способа зависит от того, имеет ли наш коллега доступ к исходному файлу документа нашей разделяемой библиотеки. Вообще, будет лучше, если мы предоставим ему этот файл — в этом случае он избежит некоторых проблем, о которых будет рассказано ниже.
Предположим, что мы предоставили своему коллеге этот файл. В таком случае он сможет воспользоваться первым способом.
Итак, наш коллега открывает свой документ Flash и собирается поместить в него разделяемый образец из нашей библиотеки. Для этого ему нужно сначала открыть исходный файл документа, в котором находится эта разделяемая библиотека. Он выбирает пункт Open External Library подменю Import меню File или нажимает комбинацию клавиш <Ctrl>+<Shift>+<0>, после чего выбирает наш файл в стандартном диалоговом окно открытия файла Windows и нажимает кнопку открытия. Напоследок ему останется вывести на экран две панели Library, отображающие содержимое обеих библиотек: принадлежащей его документу и разделяемой.
Теперь нашему коллеге останется перетащить нужный образец из панели Library разделяемой библиотеки на панель Library его документа, выполнив операцию импорта образца. Он также может перетащить этот образец прямо на рабочий лист; в этом случае Flash не только создаст экземпляр этого образца, но и скопирует образец в библиотеку его документа. Скопированный таким образом разделяемый образец будет помечен как импортированный: в колонке Linkage списка образцов панели Library против его имени будет стоять слово Import: <Имя разделяемого образца>.
Самое интересное в том, что образец при этом копируется в библиотеку нового документа полностью, т. е. вместе со своим содержимым. Вероятно, это сделано для того, чтобы удобнее работать с такими образцами: при создании экземпляра разделяемого образца данные для этого будут взяты из библиотеки нового документа, чтобы лишний раз не тревожить разделяемую библиотеку (которая, к тому же, в данный момент может оказаться недоступной).
Но когда наш коллега выполнит экспорт готового документа в формат Shockwave/Flash, Flash не включит в результирующий файл разделяемые образцы, а поместит ссылки на них, указывающие на файл разделяемой библиотеки. Встретив эти ссылки, проигрыватель Flash загрузит файл разделяемой библиотеки и извлечет разделяемые образцы оттуда.
Кстати, наш коллега вполне сможет при желании исправить импортированный образец, воспользовавшись любым из описанных в начале этой главы режимов правки. При этом Flash выведет на экран окно-предупреждение, говорящее о том, что после правки этот образец перестанет быть импортированным, потеряет связь с разделяемой библиотекой, из которой был взят, и станет обычным образцом — "собственностью" нового документа. Нашему коллеге будет нужно нажать кнопку ОК этого окна, чтобы все-таки выполнить правку образца, или Cancel — чтобы отказаться от этого.
Хорошо, наш коллега использовал какой-либо образец из разделяемой библиотеки в своем изображении. А мы тем временем исправили этот образец, снова экспортировали свою библиотеку и распространили ее. Но коллега об этом не узнает — в библиотеке его документа сохранятся данные старого образца! Как поступить в этом случае?
Проще всего нашему коллеге превратить использованный разделяемый образец в обновляемый — тогда он будет в курсе всех обновлений. Для этого он должен будет получить от нас новый исходный файл документа, содержащего разделяемую библиотеку, и привязать использованный им образец к нему. Как это сделать, было описано ранее в параграфе, посвященном обновляемым образцам.
Коллега может и проигнорировать все сделанные нами исправления. Все равно результирующий файл Shockwave/Flash будет использовать образцы из разделяемой библиотеки. А значит, все наши исправления будут актуальными, и творение нашего коллеги в любом случае отобразится нормально.
Наш коллега может изменить некоторые параметры использованного разделяемого образца. Для этого ему нужно выделить его в списке образцов панели Library и выбрать пункт Properties или Linkage контекстного или дополнительного меню панели. На экране появится одно из уже знакомых нам диалоговых окон — Symbol Properties или Linkage Properties.
Поле ввода Identifier служит, как мы помним, для задания идентификатора разделяемого образца. Если мы в своей разделяемой библиотеке изменили этот идентификатор, наш коллега сможет исправить его, воспользовавшись данным полем ввода.
В поле ввода URL задается интернет-адрес файла Shockwave/Flash разделяемой библиотеки. Изначально туда подставляется тот интернет-адрес, что мы ввели, когда превращали образец в разделяемый. Но не всегда можно точно знать, по какому именно интернет-адресу мы опубликуем нашу разделяемую библиотеку (мы, например, не знали, поэтому ввели в это поле адрес ), так что возможность впоследствии исправить его очень пригодится нашему коллеге.
И, наверно, уже не стоит говорить о том, что после ввода всех нужных данных следует нажать кнопку ОК.
А теперь предположим, что мы не дали своему коллеге исходный файл документа Flash с разделяемой библиотекой. Что он будет делать? Ведь он не сможет получить данные нужного ему разделяемого образца.
В этом случае нашему коллеге придется сначала создать новый образец, который заменит нужный ему разделяемый на время работы с документом (образец-заглушка). Образец может быть как "пустым", т. е. не содержащим никакой графики, так и "непустым" — это различие не принципиально. В любом случае образец-заглушка будет заменен после экспорта реальным разделяемым образцом.
Итак, образец-заглушка готов. Наш коллега выделяет его в списке образцов панели Library и вызывает на экран диалоговое окно Symbol Properties. Далее он устанавливает флажок Import for runtime sharing; если же этот флажок недоступен, то предварительно снимает все остальные флажки группы Linkage. Теперь ему останется только ввести идентификатор разделяемого образца в поле ввода Identifier и интернет-адрес файла Shockwave/Flash разделяемой библиотеки в поле ввода URL и нажать кнопку ОК.
Разделяемые образцы-шрифты
В главе 7, говоря о работе с текстом в среде Flash, мы упомянули о проблеме, возникающей при экспорте готового изображения в формат Shockwave/Flash. В результирующий файл, как мы помним, помещаются описания всех шрифтов, использованных в документе, что может вызвать значительное увеличение размера этого файла. Для решения этой проблемы предлагалось несколько путей, которые не будем здесь перечислять — все они описаны в главе 7.
Но существует еще один путь решения данной проблемы, о котором мы еще не знаем. Это создание разделяемого образца-шрифта. Такой шрифт может быть затем использован в любом другом документе, как всякий разделяемый образец. Фактически при этом мы "выносим" описание этого шрифта из использующего его изображения и тем самым делаем содержащий его файл Shockwave/Flash меньше.
Создание разделяемого образца-шрифта происходит в два этапа. На первом этапе создается обычный, неразделяемый образец-шрифт. На втором этапе он делается разделяемым.
На заметку
Создание обычных, неразделяемых, образцов-шрифтов лишено смысла. Описание шрифта все равно помещается в результирующий файл Shockwave/Flash при экспорте готового документа. Имеет смысл создавать только разделяемые образцы-шрифты, которые могут быть использованы в других документах.
Обычный образец-шрифт создается следующим образом. Выбираем в дополнительном меню панели Library пункт New Font. На экране появится диалоговое окно Font Symbol Properties (рис. 8.22).
В поле ввода Name задается имя создаваемого образца-шрифта. Это имя может совпадать с оригинальным именем шрифта, присутствующего в Windows. В раскрывающемся списке Font выбирается шрифт, на основе которого создается образец. Флажки Bold и Italic позволяют создать соответственно полужирный шрифт и курсив. Флажок Bitmap text заставляет Flash преобразовать символы получающегося образца-шрифта в растровые изображения; в некоторых случаях это может уменьшить размер файла Shockwave/Flash разделяемой библиотеки. А в поле ввода Size вводится размер шрифта.
Задав все нужные данные, нажмем кнопку ОК. Если же мы передумали создавать образец-шрифт, нажмем кнопку Cancel.
Созданный таким образом образец-шрифт появится в списке образцов панели Library. К сожалению, Flash не предоставляет возможности посмотреть, как выглядят его символы. Для этого придется создать текстовый блок, ввести в нем какой-либо текст и отформатировать его этим шрифтом.
Если мы ошиблись в задании параметров образца-шрифта, то всегда можем исправить нашу ошибку. Выделим нужный образец-шрифт в списке панели Library и выберем пункт Properties контекстного или дополнительного меню. На экране появится диалоговое окно Font Symbol Properties, в котором мы сможем задать нужные параметры.
Так, образец-шрифт создан. Настала пора сделать его разделяемым.
Выделим образец-шрифт в списке образцов панели Library и выберем пункт Linkage контекстного или дополнительного меню этой панели. На экране появится диалоговое окно Linkage Properties (см. рис. 8.21). Зададим в нем нужные параметры (они описывались ранее в этой главе) и не забудем нажать кнопку ОК.
Чтобы использовать готовый образец-шрифт в другом документе, мы поступим так же, как и в случае обычного образца. То есть откроем исходный файл документа, содержащий разделяемую библиотеку, воспользовавшись пунктом Open External Library подменю Import меню File, и перетащим образец-шрифт на панель Library нового документа.
После этого мы можем, как обычно, форматировать текст с использованием созданного шрифта, просто выбрав его в списке шрифтов панели Properties (см. рис. 7.4). Использованный образец-шрифт будет помечен в этом списке звездочкой (рис. 8.23).
Превращение разделяемого образца в обычный
Может получиться так, что мы захотим превратить использованный разделяемый образец в обычный, неразделяемый. Это делается следующим образом.
Вызовем на экран диалоговое окно Symbol Properties или Linkage Properties (какое — не имеет значения). Отключим переключатель Import for runtime sharing. И нажмем кнопку ОК.
Библиотеки общего использования
В составе Flash поставляются три библиотеки общего использования, содержащие образцы, которые мы можем свободно использовать в своих изображениях. Чтобы открыть такую библиотеку, нужно выбрать соответствующий ей пункт в подменю Common Libraries меню Window. Все библиотеки, связанные с доступными пунктам этого подменю, перечислены в табл. 8.1.
Библиотеки общего использования — это обычные документы Flash (т. е. файлы с расширением Да). Найти их можно в папке en/Configuration/ Libraries, расположенной в папке, в которой установлен сам Flash 8. Чтобы добавить во Flash свои библиотеки в качестве библиотек общего использования, достаточно просто поместить соответствующие файлы документов Flash в эту папку.
Что дальше?
На этом долгий рассказ об образцах, экземплярах и библиотеках можно считать в целом законченным. Конечно, в дальнейшем мы время от времени будем возвращаться к нему, чтобы узнать что-то новое. Образцы и библиотеки Flash — слишком обширная тема, чтобы описать ее в одной главе, даже такой большой, как эта.
А вот следующая глава будет совсем небольшой. В ней будет рассказано о новых возможностях, появившихся во Flash 8, — фильтрах и наложениях.