Macromedia Flash Professional 8. Графика и анимация

Дронов В. А.

Часть II

Работа со статичной графикой

 

 

Глава 3

Простейшие операции рисования

 

Вот и состоялось наше первоначальное знакомство с Flash 8. Можно сказать, что теперь мы официально представлены друг другу. Пора переходить собственно к рисованию.

Но сначала давайте вспомним все, что мы знаем о Flash-графике. И заодно узнаем о ней кое-что новое.

Во-первых, графика Flash является, строго говоря, гибридной, т. е. состоит из набора примитивов (наипростейших геометрических фигур), описываемых математическими формулами, а также (возможно, но не обязательно) — импортированных растровых изображений и фильмов. (Также могут использоваться импортированные звуковые клипы.) Во-вторых, для рисования примитивов используются инструменты рисования Flash, которые можно выбрать с помощью главного инструментария или нажав определенную клавишу на клавиатуре. Сложные изображения могут состоять из множества примитивов, и чем сложнее изображение, т. е. чем больше примитивов оно содержит, тем больше по размерам получится файл документа Flash (а также результирующий файл Shockwave/Flash).

А теперь — внимание! Фигуры, нарисованные во Flash, как правило, состоят из контура и заливки. Контур — это набор линий, ограничивающих фигуру, а заливка — это ее, так сказать, наполнение. Существуют также фигуры без заливки; к ним относятся, в частности, линии. Также возможно с помощью некоторых инструментов создать одну заливку без контура.

Ну что ж, можно приступать… Запустим Flash, если мы еще этого не сделали. И начнем.

 

Базовые средства управления цветом

Но сначала давайте поговорим о средствах управления цветом, с помощью которых мы сможем задать цвет рисуемых нами контуров и заливок. Без этого никуда — ведь изобразительное искусство суть искусство цвета, даже если этот цвет всего один — черный.

Для задания цвета контуров и заливок служит уже знакомая нам по главе 2 область задания цвета, находящаяся в середине главного инструментария и имеющая заголовок Colors. Она приведена на рис. 3.1. Рассмотрим ее подробнее.

Прежде всего, заметим, что в нижней части этой области находятся три небольшие кнопки. Эти кнопки включают особые цветовые режимы, которые мы рассмотрим в главе 6. В данный же момент нас больше интересуют два селектора цвета, занимающие большую часть области Colors. С их помощью и задаются цвета рисуемой графики.

На заметку

Селекторами цвета главного инструментария отнюдь не ограничивается арсенал Flash по управлению цветом. Существуют еще несколько панелей, позволяющих задать цвет, но мы подробно рассмотрим их в главе 6, полностью посвященной работе с цветом.

Мы видим, что селекторов цветов в области Colors два. Верхний из них задает цвет контуров — об этом говорит значок карандаша слева от селектора. Нижний задает цвет заливок, что подтверждает значок опрокинутого ведра.

Нужно иметь в виду, что селекторы цветов, расположенные в области Colors главного инструментария, задают цвета только вновь создаваемой графики. То есть если мы сменим цвет линии с черного на синий, следующие начерченные нами линии будут синими, но вычерченные ранее останутся черными. О том, как изменить цвет уже нарисованных примитивов, мы поговорим позже.

 

Инструменты рисования

Flash 8 предоставляет нам довольно много инструментов рисования. Мы рассмотрим их по очереди, в порядке возрастания сложности.

Инструмент Line ("Линия")

Этот инструмент служит для вычерчивания прямых линий. Чтобы выбрать его, следует щелкнуть в главном инструментарии по кнопке:

Или нажать на клавиатуре клавишу . После этого курсор мыши примет вид небольшого крестика — это значит, что теперь мы можем проводить мышью прямые линии.

Делается это так. Помещаем курсор мыши в то место, где должно находиться начало линии, и нажимаем левую кнопку мыши. После этого, не отпуская кнопки, протаскиваем мышь в то место, где у нас будет конец линии. Пока мы буксируем мышь, от начала линии за ее курсором будет тянуться "резиновая" линия, показывающая, как пройдет прямая, если мы прямо сейчас отпустим кнопку мыши. В нужный момент отпускаем левую кнопку мыши — и прямая линия готова.

Мы можем проводить таким образом линии любой длины и под любым углом. Если нам нужно провести линию под углом, кратным 45°, то во время вычерчивания линии мы будем удерживать нажатой клавишу . В этом случае рисуемая линия будет автоматически "подгоняться" под подходящий угол.

При рисовании прямых линий мы можем включить модификатор Snap to Objects (Приклеивание), для чего достаточно нажать кнопку, находящуюся в области модификаторов главного инструментария:

После этого при буксировке мыши, если какой-либо из концов рисуемой линии окажется достаточно близко к уже нарисованному контуру, направляющей или линии координатной сетки, курсор-крестик мыши будет заменен курсором-кружком. Если теперь отпустить кнопку мыши, завершив рисование линии, ее конец будет автоматически "приклеен" к ближайшей линии контура. Flash по мере сил помогает нам.

Чтобы отключить модификатор "приклеивание" (ну не нужна нам такая помощь, не нужна — мы и сами с усами), нужно еще раз щелкнуть по уже нажатой кнопке, и она "отожмется":

Подобные кнопки, которые могут быть включенными и отключенными, называются кнопками-выключателями.

Мы можем изменять цвет линии с помощью верхнего селектора цвета контуров, что находится в области задания цветов главного инструментария. Селектор цвета заливок (нижний) никакого влияния на рисуемые прямые линии не оказывает, так как у линий нет заливок.

Рассмотрим теперь два следующих инструмента, позволяющих рисовать более сложные графические фрагменты, состоящие из нескольких примитивов: "прямоугольник" и "эллипс".

Инструменты Rectangle ("Прямоугольник") и Oval ("Эллипс")

Эти инструменты очень похожи. Разница проявляется лишь в результате их применения. Поэтому мы и описываем их здесь вместе.

Чтобы выбрать инструмент "прямоугольник", нужно щелкнуть в главном инструментарии по кнопке:

Или нажать клавишу . Если вы почему-то не находите в главном инструментарии эту кнопку, найдите кнопку:

Щелкните по ней и, не отпуская левой кнопки мыши, подержите ее немного. На экране появится небольшое меню, показанное на рис. 3.2; выберите в нем пункт Rectangle Tool (R). После этого курсор мыши примет вид небольшого крестика — сигнал, что инструмент "прямоугольник" выбран.

Такие кнопки "с секретом" называются кнопками с меню. Обычно для того чтобы открыть это меню, нужно просто щелкнуть по кнопке. Кнопка — единственное исключение из этого правила:

В случае инструмента "эллипс" все намного проще. Щелкнем по кнопке:

Или нажмем клавишу . Курсор мыши также примет вид небольшого крестика.

Прямоугольник рисуется следующим образом. Поместим курсор мыши в то место, где у нас будет находиться его левый верхний угол, и нажмем левую кнопку мыши. После этого, не отпуская кнопку, протащим мышь в то место, где у нас будет находиться правый нижний угол прямоугольника. Пока мы буксируем мышь, Flash отображает "резиновый" прямоугольник, так что мы всегда видим возможный результат наших трудов. Переместив курсор в нужную точку, отпустим левую кнопку мыши — и прямоугольник будет нарисован.

Эллипс рисуется аналогичным образом. Выбираем точку, соответствующую левому верхнему углу воображаемого прямоугольника, в который будет вписан эллипс, нажимаем левую кнопку мыши и буксируем мышь в точку правого нижнего угла этого прямоугольника. В процессе перетаскивания мыши Flash будет показывать нам "резиновый" эллипс. Когда он примет нужную форму, отпускаем левую кнопку мыши и наслаждаемся полученным результатом.

Мы можем рисовать таким образом прямоугольники и эллипсы любого вида. Если же нам нужно нарисовать квадрат или круг, то во время рисования будем удерживать нажатой клавишу .

Есть и другой способ рисования прямоугольников и эллипсов. Выбираем соответствующий инструмент, нажимаем клавишу и удерживаем ее нажатой во время рисования фигуры. Далее, ставим курсор мыши в точку, где должен находиться центр (именно центр, а не левый верхний угол) прямоугольника или эллипса, нажимаем левую кнопку мыши и растягиваем прямоугольник (эллипс). Когда "резиновый" прямоугольник или эллипс примет нужные размеры, отпускаем кнопку мыши, и фигура готова.

Каждый нарисованный нами прямоугольник и эллипс будет иметь заливку. Цвет заливки задается нижним селектором цвета в области Colors главного инструментария. А цвет контура задается, как мы помним, с помощью верхнего селектора цвета.

Пользуясь модификатором Set Corner Radius (Скругленные углы), мы можем рисовать прямоугольники со скругленными углами. Нажмем кнопку:

находящуюся в области Options главного инструментария (инструмент "прямоугольник" должен быть выбран), и на экране появится небольшое диалоговое окно Rectangle Settings, показанное на рис. 3.3. В единственном поле ввода Corner radius задаем радиус кривизны углов прямоугольника, после чего нажимаем кнопку ОК для подтверждения ввода данных или Cancel для отмены.

Если был введен радиус кривизны углов, отличный от нуля, и нажата кнопка ОК, все нарисованные за этим прямоугольники будут иметь скругленные углы. Чтобы вернуть прямоугольникам обычные, прямые углы, нужно снова вызвать на экран диалоговое окно Rectangle Settings, ввести в поле ввода Corner radius значение 0 и не забыть нажать ОК.

Кстати, вызвать окно Rectangle Settings можно также двойным щелчком на кнопке главного инструментария:

Есть еще один способ создания скругленных углов у прямоугольников. Он состоит в том, что одновременно с буксировкой мыши при рисовании очередного прямоугольника нажимаются клавиши <стрелка вверх> и <стрелка вниз>. Клавиша <стрелка вверх> уменьшает радиус кривизны углов, а клавиша <стрелка вниз> его увеличивает. Изменение радиуса отображается на "резиновом" прямоугольнике, так что мы всегда сможем вовремя остановиться.

Если выбраны инструменты "прямоугольник" или "эллипс", также становится доступным модификатор "приклеивание", описанный в предыдущем разделе.

С простейшими геометрическими фигурами мы покончили. Перейдем к более сложным.

Инструмент PolyStar ("Многоугольник")

Этот инструмент позволяет быстро рисовать довольно сложные многоугольники. Он появился в предыдущей версии Flash — MX 2004.

Чтобы выбрать этот инструмент, нажмем кнопку главного инструментария:

Если вы почему-то не находите в главном инструментарии эту кнопку, найдите кнопку:

Щелкните по ней и, не отпуская левой кнопки мыши, подержите ее немного. На экране появится небольшое меню, показанное на рис. 3.2; выберите пункт PolyStar Tool. После этого курсор мыши примет вид небольшого крестика — сигнал, что инструмент "многоугольник" выбран.

Чтобы нарисовать многоугольник, поместим курсор мыши в то место, где у нас будет располагаться его центр, и нажмем левую кнопку мыши. После этого, не отпуская кнопку, буксируем мышь, пока не получим многоугольник нужного размера. Как и всегда, Flash поможет нам, отображая "резиновый" многоугольник в процессе перемещения мыши. Чтобы закончить рисование, отпустим левую кнопку мыши.

Мы можем рисовать таким образом многоугольники любой формы. Если же нам нужно нарисовать многоугольник, чьи оси симметрии располагаются строго по горизонтали или вертикали, то во время рисования будем удерживать нажатой клавишу .

Каждый нарисованный нами многоугольник будет иметь заливку. Цвет заливки задается нижним селектором цвета в области Colors главного инструментария. А цвет контура задается, как мы прекрасно помним, с помощью верхнего селектора цвета.

Мы можем задать различные параметры рисуемых нами многоугольников, воспользовавшись диалоговым окном Tool Settings (рис. 3.4). Вызвать это окно можно нажатием кнопки Options, находящейся в панели Properties; эта кнопка доступна только при выбранном инструменте "многоугольник". Если панель Properties на экране отсутствует, следует включить пункт-переключатель Properties подменю Properties меню Windows или нажать комбинацию клавиш +.

Раскрывающийся список Style позволит нам задать стиль рисуемого многоугольника. Здесь доступны два пункта: polygon (рисование собственно многоугольника) и star (рисование звезды).

В поле ввода Number of Sides вводится количество углов многоугольника или лучей звезды.

Поле ввода Star point size служит для задания степени заостренности лучей звезды. Сюда можно ввести любое значение от 0 до 1; значения, близкие к нулю, вызывают рисование звезды с заостренными лучами, а значения, близкие к единице, — обычного многоугольника. (Собственно, многоугольник от звезды отличается только тем, что значение поля Star point size для него близко к единице.)

Введя нужные значения, не забудем нажать кнопку ОК для их сохранения. После этого все вновь рисуемые нами многоугольники будут иметь новые параметры. Если мы передумали изменять параметры инструмента "многоугольник", нажмем кнопку Cancel.

При выбранном инструменте "многоугольник" мы можем пользоваться модификатором "приклеивание".

На рис. 3.5 показаны примеры некоторых фигур, нарисованных с помощью инструмента "многоугольник".

Инструмент Pencil ( "Карандаш")

Этот инструмент позволяет рисовать линии любой (как говорят профессиональные компьютерные художники — свободной) формы. Работает он так же, как обычный карандаш, отчего и получил такое название.

Чтобы выбрать инструмент "карандаш", щелкнем в главном инструментарии по кнопке:

Или нажмем клавишу . Курсор примет вид карандаша.

Чтобы нарисовать линию, поместим курсор в точку, где она должна начинаться, и нажмем левую кнопку мыши. После этого, не отпуская левой кнопки, двигаем мышь по нужной траектории и, когда курсор окажется в точке, где должен быть конец линии, отпустим кнопку мыши. Flash будет рисовать проводимую нами линию прямо во время движения мыши. Пример такой линии показан на рис. 3.6. Если нам нужно провести стрoго прямую горизонтальную или вертикальную линию, то во время рисования мы будем удерживать нажатой клавишу .

Мы можем задавать цвет линии, пользуясь верхним селектором цвета, расположенным в области Colors главного инструментария. Нижний селектор цвета никакого влияния на проводимые "карандашом" линии не оказывает, поскольку они не имеют заливки.

Можно заметить, что Flash автоматически сглаживает проведенную нами линию. Человеческая рука — не очень точный инструмент, и Flash это учитывает, устраняя мелкие неровности проводимых вами линий. Однако иногда такая "услужливость" может навредить: например, если нам нужно нарисовать что-то очень точно, со всеми неровностями и шероховатостями. Для регулирования степени сглаживания служит модификатор Straighten (Сглаживание линий), связанный с кнопкой, расположенной в области Options главного инструментария:

Небольшая черная стрелка в правом нижнем углу этой кнопки говорит о том, что при нажатии кнопки на экране должно появиться меню, показанное на рис. 3.7. (То есть это кнопка с меню.)

Меню, показанное на рис. 3.7, имеет три пункта, задающих степень сглаживания:

□ Straighten — самое сильное сглаживание, при котором готовые линии получаются прямыми или изломанными, а приближенные подобия геометрических фигур преобразуются в точные фигуры;

□ Smooth — менее сильное сглаживание; готовые линии почти всегда получаются кривыми;

□ Ink — минимальное сглаживание.

Если нам нужно нарисовать достаточно точную фигуру из прямых линий, мы выберем сглаживание Straighten. Если наша геометрическая фигура должна содержать кривые линии, смело выберем Smooth. Для точного рисования сложных контуров следует выбрать степень сглаживания Ink.

Инструмент Pen ("Перо")

Этот мощнейший инструмент позволит нам рисовать как прямые, так и кривые линии, точно указывая их начальную и конечную точки и радиус кривизны. Кривые линии, рисуемые с помощью этого инструмента, называют также кривыми Безье по имени математика, создавшего формулу для описания этих кривых. Кроме того, "перо" предоставляет возможность создания ломаных линий, состоящих из множества прямых и кривых отрезков.

Чтобы выбрать инструмент "перо", щелкнем в главном инструментарии по кнопке:

Или нажмем клавишу <Р>. Курсор мыши при этом примет вид чертежного рейсфедера.

Рисование прямых с помощью "пера" выполняется следующим образом. Поместим курсор мыши в точку, где должно находиться начало прямой, и щелкнем левой кнопкой мыши. (Да-да — нужно именно щелкнуть!) В этом месте на листе появится небольшая полая точка. Далее поместим курсор в точку, где должен быть конец прямой, и снова щелкнем мышью. Прямая тотчас будет проведена.

Существует возможность проводить прямые линии под углом, кратным 45°. Для этого нам нужно при втором щелчке удерживать нажатой клавишу .

Если мы продолжим щелкать мышью в других точках рабочего листа, то построим ломаную линию, аналогичную показанной на рис. 3.8. Чтобы завершить рисование ломаной, при создании последней ее точки мы сделаем двойной щелчок мышью вместо одинарного. Также для этого можно сразу после последнего щелчка выбрать другой инструмент или щелкнуть где-либо в пустом пространстве рабочего листа, удерживая нажатой клавишу .

Пользуясь инструментом "перо", мы можем рисовать многоугольники любой формы с заливкой. Для этого мы нарисуем ломаную, которая станет контуром этого многоугольника, и замкнем его. Замкнуть его проще всего, подведя курсор к начальной точке многоугольника точек так, чтобы ниже и правее ее появился небольшой кружок, и щелкнуть левой кнопкой мыши. После этого Flash завершит создание контура и поместит в него заливку (рис. 3.9).

Как с помощью "пера" создаются прямые линии, мы выяснили. Пора приниматься за кривые.

Начальная точка кривой линии создается точно так же, как начальная точка прямой. После этого выберем место на рабочем листе, где будет находиться конечная точка кривой, и щелкнем левой кнопкой мыши, но отпускать ее не будем. Вместо этого переместим курсор в каком-либо направлении, лучше — перпендикулярном направлению получающейся прямой линии. Мы увидим, как при этом изменится форма создаваемой кривой (рис. 3.10).

Мы можем действовать немного по-другому. Выберем на листе точку, где должно находиться начало кривой, поставим в нее курсор, нажмем левую кнопку и, не отпуская ее, переместим мышь. После этого отпустим кнопку мыши, переместим курсор на место, где должен быть конец кривой, и щелкнем левой кнопкой. Мы получим ту же самую кривую — конечно, не в точности такую же, но аналогичную.

И, наконец, можно совместить оба эти подхода. Поэкспериментируйте и посмотрите на получившиеся результаты — это лучший способ понять, как работает инструмент "перо".

Главное правило таково: мы должны перемещать мышь в том направлении, в каком создаваемая кривая должна быть выгнута. Если мы будем при этом удерживать нажатой клавишу , курсор мыши будет перемещаться под ближайшим углом, кратным 45°. Касательная — прямая линия, заканчивающаяся темными точками, рисуемая Flash при создании кривой — поможет нам выбрать точную форму кривой.

Основное условие при создании кривых Безье — не жалеть времени на экспериментирование с инструментом "перо". В конце концов, практика в некоторых случаях может дать несравнимо больше, тем теория. Перефразируя известную пословицу, можно сказать, что лучше один раз что-то сделать самостоятельно, чем сто раз услышать, как это делается.

Поэтому автор призывает вас: экспериментируйте! Посмотрите на рис. 3.11 — там показаны некоторые примеры сложных геометрических фигур, созданных из кривых Безье с помощью "пера". Попробуйте создать аналогичные фигуры.

Остается добавить, что мы можем задавать цвет линии, пользуясь верхним селектором цвета, расположенным в области Colors главного инструментария. Нижний селектор цвета, задающий цвет заливки, в этом случае влияния не оказывает.

Инструмент Paint Bucket ("Ведро с краской")

Все рассмотренные нами ранее инструменты были предназначены, в основном, для рисования контуров. Конечно, при использовании некоторых из них также создавались и заливки, но это была "личная инициатива" Flash, искренне желающего нам помочь. Теперь же настала пора заняться заливками вплотную. Так вот, инструмент "ведро с краской" служит именно для создания заливок.

Этот инструмент ведет себя аналогично реальному ведру с краской: если "опрокинуть" его над замкнутым контуром, краска "разольется" и заполнит его внутренность. Если же контур имеет "прореху" (например, мы забыли его замкнуть), заливка создана не будет. Как видите, Flash не допустит, чтобы "краска" "вытекла" наружу и испортила изображение.

Чтобы выбрать инструмент "ведро с краской", щелкнем в главном инструментарии по кнопке:

или нажмем клавишу <К>. Курсор мыши при этом примет вид опрокинутого ведра с краской.

Использовать этот инструмент очень просто. Выберем нужную замкнутую фигуру, проследим за тем, чтобы она была действительно замкнута (иначе заливка не будет создана), и щелкнем на ней левой кнопкой мыши. Flash тотчас создаст заливку, заполняющую эту фигуру. Пример такой заливки показан на рис. 3.12.

Выбор цвета заливки производится с помощью нижнего селектора цвета в области Colors главного инструментария. Цвет, заданный с помощью верхнего селектора, в этом случае роли не играет.

Если контур нарисованной нами фигуры в некоторых местах не замкнут, не стоит огорчаться. Flash автоматически устранит эти огрехи, если, конечно, они действительно невелики — в противном случае Flash вообще не создаст заливку. Размер разрыва, которого "не замечает" Flash, можно задать с помощью модификатора Gap Size (Размер разрыва). Этот модификатор имеет вид кнопки с меню (рис. 3.13) и расположен в области Options главного инструментария.

Меню этого модификатора предлагает для выбора четыре пункта:

□ Don't Close Gaps — весь контур должен быть замкнут, иначе заливка создана не будет;

□ Close Small Gaps — Flash закрывает только маленькие разрывы;

□ Close Medium Gaps — Flash закрывает промежутки средних размеров;

□ Close Large Gaps — Flash закрывает большие разрывы.

И еще: если мы попытаемся закрасить сам рабочий лист, выбрав "ведро с краской" и щелкнув на пустом пространстве листа, заливка создана не будет. Flash может создать заливку только внутри замкнутого контура — нужно это помнить. Чтобы изменить цвет фона изображения, следует воспользоваться диалоговым окном Document Properties. Работа с ним была подробно описана в главе 2.

Инструмент Brush ( "Кисть")

Этот инструмент ведет себя аналогично реальной кисти. С его помощью мы можем наносить мазки различной формы и толщины. Причем эти мазки представляют собой не что иное, как заливки фигурной формы без видимых контуров. Несколько таких мазков показано на рис. 3.14.

Чтобы выбрать инструмент "кисть", щелкнем в главном инструментарии по кнопке:

Или нажмем клавишу <В>. Курсор при этом может принимать разные формы, в зависимости от настроек, заданных с помощью модификаторов (см. ниже).

Инструмент "кисть" используется аналогично "карандашу". Мы ставим курсор в точку, где должен начинаться мазок, нажимаем левую кнопку, двигаем мышь, рисуя сам мазок, и, в конце концов, заканчиваем рисование, отпустив левую кнопку мыши.

Если нам нужно нарисовать строго прямой горизонтальный или вертикальный мазок, то во время рисования мы будем удерживать нажатой клавишу . Это правило справедливо для многих инструментов Flash.

Цвет мазка выбирается с помощью нижнего селектора цвета, расположенного в области Colors главного инструментария. Это вполне логично, так как "кисть" часто используется для создания заливок. Цвет контуров, задаваемый верхним селектором цвета, при этом роли не играет.

Кроме цвета мазка, Flash предоставляет нам возможность выбора формы и размера кисти. Для этого служат модификаторы Brush Shape (Форма кисти) и Brush Size (Размер кисти), расположенные, как и все остальные модификаторы, в области Options главного инструментария. Эти модификаторы представляют собой обычные раскрывающиеся списки, в которых в виде графических изображений представлены все доступные во Flash формы и размеры "кисти". Модификатор "размер кисти" в раскрытом виде показан на рис. 3.15, а модификатор "форма кисти" — на рис. 3.16. Видно, что возможности выбора достаточно велики.

Как только мы выберем с помощью вышеупомянутых модификаторов форму и (или) размер "кисти", форма и (или) размер курсора мыши изменится. Таким образом, мы всегда будем знать, какой "кистью" мы работаем.

Еще один модификатор — Paint Mode (Режим закраски) — позволяет задать режим работы "кисти", т. е. определяет, будет ли "кисть" закрашивать линии или будет ограничиваться лишь заливками. Этот модификатор имеет вид кнопки с меню (рис. 3.17).

В меню модификатора "режим закраски" доступно пять пунктов:

□ Paint Normal — обычное рисование, когда закрашиваются любые линии и любые заливки (рис. 3.18);

□ Paint Fills — закрашиваются только заливки и пустые области, линии не закрашиваются (рис. 3.19);

□ Paint Behind — закрашиваются только пустые области, линии и заливки не закрашиваются (рис. 3.20);

□ Paint Selection — закрашивается только выделенная с помощью инструмента "стрелка" заливка (об инструменте "стрелка" см. далее); невыделенные заливки, любые линии и пустые области остаются незакрашенными (рис. 3.21);

□ Paint Inside — закрашивается только заливка, находящаяся либо в пределах, либо за пределами замкнутого контура. То, что находится по другую сторону этого контура, не закрашивается. Линии и пустые области также не закрашиваются (рис. 3.22).

 

Правка графики

 

Итак, создавать графику мы научились. Теперь давайте выясним, как ее править.

Под правкой графики мы будем понимать изменение ее формы, а также ее полное или частичное удаление. Как добавить новые линии или фигуры, мы уже прекрасно знаем — достаточно воспользоваться одним из рассмотренных выше инструментов рисования. Кроме того, редактирование графики также подразумевает изменение ее цвета, но об этом мы подробнее поговорим в главе 6.

Для изменения графики Flash предоставляет четыре мощных инструмента: "стрелка", "белая стрелка", "лассо" и "ластик". Первые два инструмента предназначены для выделения и правки элементов изображения, третий — для "вырезания" из фигур "лоскутков" произвольной формы, а четвертый — для полного или частичного удаления фигур или их частей. Пользуясь этими четырьмя инструментами, мы сможем проделывать со своей графикой все что угодно.

Но прежде чем править графику, ее нужно выделить, указав тем самым, какой именно фрагмент нашего изображения мы хотим исправить. Давайте выясним, как это делается.

 

Выделение графики

Для выделения фрагментов графики служит очень мощный инструмент Selection Tool (Стрелка). Чтобы его выбрать, нужно щелкнуть по кнопке в главном инструментарии:

Или нажать клавишу на клавиатуре. Курсор мыши после этого примет вид небольшой черной стрелки.

Как и в других аналогичных Windows-приложениях, для того чтобы выделить какой-либо фрагмент изображения, нужно щелкнуть на нем мышью. После этого он станет выделенным, о чем недвусмысленно скажет штриховка из черных точек (рис. 3.23), которой заполняются выделенные фигуры. Однако Flash вносит в этот несложный процесс свои коррективы.

Геометрическая фигура, нарисованная с помощью инструментов Flash, фактически состоит из двух частей. Первая часть — это контур, который образуют внешние линии фигуры. Контур может быть замкнутым или незамкнутым.

Если контур замкнут, в составе фигуры может присутствовать и вторая часть — заливка. (Выше уже говорилось, что контур и заливка, — совершенно разные виды примитивов.) Например, из контура и заливки состоят нарисованные нами прямоугольники и эллипсы. Конечно, бывают фигуры, состоящие из одного контура, например, линии, но разговор сейчас не о них.

Вышесказанное означает, что можно выделить отдельно контур какой-либо фигуры и произвести с ним какие-то действия, не затрагивая заливку. И наоборот, выделив заливку этой или другой фигуры и что-либо с ней сделав, мы никак не затронем контур. Более того, мы даже можем отделить заливку от контура, фактически превратив их в две абсолютно независимые фигуры.

Чтобы выделить контур фигуры, следует щелкнуть на нем мышью (предполагается, что мы уже выбрали инструмент "стрелка"). Конечно, это довольно трудно, особенно если он выполнен тонкими линиями, но мы можем изменить масштаб отображения (как это сделать, было рассказано в главе 2). Круг с выделенным контуром показан на рис. 3.24.

С контурами, состоящими из нескольких отрезков, дело обстоит несколько сложнее. Если мы щелкнем мышью по одному из таких отрезков, будет выделен только он, а остальные отрезки останутся невыделенными.

Выделить заливку совсем просто — как правило, она значительно "объемистее" любых линий, и промахнуться мимо нее невозможно. Просто щелкнем на ней — результат этого действия показан на рис. 3.25.

Но как поступить, если нужно выделить сразу все отрезки, из которых состоит контур, или сразу и контур, и заливку? Есть целых три способа сделать это.

Во-первых, практически любое Windows-приложение, работающее с графикой, предоставляет возможность выделения перетаскиванием мыши. Поместим курсор мыши в какую-либо точку на листе Flash, нажмем левую кнопку мыши и, не отпуская ее, протащим мышь так, чтобы захватить в получающийся воображаемый прямоугольник (прямоугольник выделения) нужный нам фрагмент изображения.

Во-вторых, мы можем воспользоваться одной уникальной возможностью Flash. Поместим курсор мыши на контур или заливку (лучше на заливку) и выполним двойной щелчок левой кнопкой мыши (выделение двойным щелчком). Этот способ применяется для выделения определенного фрагмента изображения и всех примыкающих к нему фрагментов, будь то линии или заливки.

В-третьих, мы можем выделить один примитив, щелкнув на нем мышью, а потом нажать клавишу и, не отпуская ее, щелкнуть на остальных примитивах, которые хотим выделить. Этот способ выделения тоже поддерживает большинство Windows-приложений, работающих с графикой. Называется он множественное выделение.

Если мы в процессе множественного выделения (клавиша еще нажата) щелкнем уже по выделенному фрагменту, он перестанет быть выделенным. Мы можем воспользоваться этим свойством для ускорения процесса, выделив большую группу фрагментов перетаскиванием мыши, нажав и щелчками мыши сняв выделение с ненужных фрагментов. Опытные пользователи Flash очень часто так поступают.

Как бы то ни было, лучше всего попрактиковаться с выделением различных фрагментов графики разными способами. Нарисуйте несколько фигур посложнее и поэкспериментируйте с ними. Приобретенные навыки снень помогут вам в дальнейшем.

Напоследок осталось сказать совсем немного. Если мы хотим выделить все, что находится у нас в рабочей области, мы выберем пункт Select All меню Edit или контекстного меню рабочей области или нажмем комбинацию клавиш +. Снять же выделение со всех элементов позволяет выбор пункта Deselect All меню Edit или контекстного меню рабочей области или комбинация клавиш ++. Снять выделение можно также, щелкнув в пустом пространстве рабочей области, не занятом графикой.

Иногда бывает нужно скрыть выделение фрагментов, т. е. сделать так, чтобы штриховка, которой помечаются выделенные фрагменты, не показывалась на экране. Для этого достаточно отключить пункт-выключатель Hide Edges меню View или нажать комбинацию клавиш +. Впоследствии мы можем снова включить этот пункт, чтобы вновь вывести на экран штриховку.

 

Фрагментация и слияние графики

Прежде чем мы приступим к рассмотрению способов правки уже созданной графики, поговорим еще об одной особенности Flash. Это так называемая фрагментация графики. Суть ее в том, что монолитное, казалось бы, изображение в определенных случаях "разваливается" на множество независимых фрагментов. Иногда это бывает полезно, иногда — не очень.

Рассмотрим классический пример фрагментации. Нарисуем эллипс и рассечем его прямой линией. У нас получится фигура, показанная на рис. 3.26.

После этого выберем инструмент "стрелка" и щелкнем в пустом пространстве рабочей области, чтобы снять любое выделение. И щелкнем на каком-либо из концов линии, выступающих за пределы перечеркнутого эллипса. В результате получим картину, показанную на рис. 3.27. Хорошо видно, что вместо того чтобы выделить всю линию, Flash выделил только ее фрагмент, "отрезанный" контуром эллипса. А это значит, что выделенный нами конец линии теперь представляет собой совершенно независимый фрагмент.

Более того: линия, рассеченная эллипсом натрое (проверьте — это так!), и сама рассекла эллипс на четыре части (две половинки контура и две половинки заливки). На рис. 3.28 это очень хорошо видно.

Это и есть фрагментация. Монолитная, казалось бы, фигура "развалилась" сама собой на семь частей, каждая из которых стала абсолютно независимой.

С фрагментацией тесно связана и другая особенность Flash-графики — эффект слияния заливок. Заключается он в том, что если две или более заливки, нарисованных одним цветом, соприкасаются, они сливаются, превращаясь в единое целое.

Давайте нарисуем изображение, представляющее собой два перекрывающихся мазка "кистью", выполненных одним цветом (рис. 3.29). После этого щелкнем мышью на одном из этих двух мазков. Мы увидим, что будет выделена вся фигура, образованная перекрещивающимися мазками.

Исходя из вышеописанного, можно вывести два правила поведения любой Flash-графики, состоящей из нескольких соприкасающихся примитивов. Причем вид примитива в этом случае роли не играет. Итак, фрагментируются:

□ пересекающиеся примитивы разных цветов;

□ пересекающиеся и изломанные линии;

□ пересекающиеся линии и заливки, даже одноцветные (хотя пересекающиеся одноцветные заливки сливаются).

Сливаются же только заливки, нарисованные одним цветом. Как видим, эти правила достаточно просты.

Спору нет, и фрагментация, и слияние часто бывают полезными. Часто, но не всегда. Иногда бывает нужно избежать фрагментации и слияния сложных фигур. Сделать это можно четырьмя способами:

□ выполнить группировку фрагмента, который не должен ни фрагментироваться, ни сливаться с другими фрагментами;

□ нарисовать фрагмент, который не должен фрагментироваться, используя режим объектного рисования;

□ разнести фрагменты, которые не должны фрагментироваться другими фрагментами или сливаться с ними, по отдельным слоям (о слоях см. главу 5);

□ сохранить созданный фрагмент изображения как образец в библиотеке (о библиотеках и образцах см. главу 8).

Первый способ используется, в основном, как временное решение проблемы фрагментации и слияния. Чтобы решить эту проблему раз и навсегда, следует использовать второй, третий или четвертый способы.

 

Группировка фрагментов

Выше мы уже упоминали о группировке. Выясним теперь, что это такое.

Группировка позволяет временно объединить несколько разрозненных фрагментов изображения в единое целое — группу фрагментов. После выполнения группировки мы можем работать с получившейся группой как с обычным, "монолитным" фрагментом. Группа фрагментов не подвергается ни фрагментации, ни слиянию.

Чтобы сгруппировать графические фрагменты, выделим их и выберем пункт Group меню Modify или нажмем комбинацию клавиш +. Результат показан на рис. 3.30.

Созданная нами таким образом группа ведет себя как единое целое. При щелчке мышью на ней она будет выделена целиком. Выделенная группа фрагментов, в отличие от обычной, не сгруппированной графики, не заполняется штриховкой, а помещается в тонкую синюю рамку.

Закончив работу с группой фрагментов, мы, вероятно, захотим разбить ее на отдельные составляющие. Для этого выделим группу и выберем в меню Modify либо пункт Ungroup, либо пункт Break Apart (этот же пункт доступен в контекстном меню выделенной группы). Также мы можем нажать одну из комбинаций клавиш — ++ или +. Группа будет тотчас разбита на отдельные составляющие ее фрагменты.

Если нам понадобится исправить один из фрагментов, составляющих группу, не разбивая ее, мы сделаем следующее. Выделим эту группу и выберем пункт Edit Selected в меню Edit (или одноименный пункт в контекстном меню выделенной группы) или просто дважды щелкнем эту по группе. После этого в рабочей области будут показаны только фрагменты, составляющие выделенную группу, а все остальное будет закрашено серым цветом. Изменив то, что нужно, либо выберем в меню Edit пункт Edit All, либо щелкнем по кнопке:

расположенной в левой части инструментария документа, либо дважды щелкнем по пустому пространству на рабочей области, чтобы вернуться к обычному режиму работы.

 

Объектное рисование

Объектное рисование появилось только во Flash 8. Это особый режим рисования графики, при котором Flash превращает все рисуемые фигуры в группы. Разумеется, эти группы не подвергаются ни фрагментации, ни слиянию, что часто бывает полезно.

Режим объектного рисования доступен при выбранных инструментах "линия", "прямоугольник", "эллипс", "карандаш", "перо" и "кисть", т. е. практически во всех изученных нами инструментах Flash. Включается он с помощью кнопки-выключателя модификатора Object Drawing (Объектное рисование), находящейся в области Options главного инструментария:

Будучи нажатой, эта кнопка активизирует режим объектного рисования, а будучи отключенной, — обычный режим графического рисования, в котором мы работали до этого момента.

Для переключения между режимами графического и объектного рисования можно использовать также клавишу . Пожалуй, так будет быстрее и удобнее.

Нарисованные в режиме объектного рисования фрагменты мы можем править точно так же, как и группы. И, конечно же, мы можем в любой момент выполнить их разбиение.

 

Правка графики

Ну что ж, пора приниматься за правку нарисованного. Как говорили древние греки — чаще поворачивай стиль. Проверим, выбран ли у нас инструмент "стрелка", так как подавляющее большинство операций по правке графики выполняются именно с его помощью. Если же для каких-то операций понадобятся другие инструменты, автор об этом предупредит.

Перемещение и удаление графики

Перемещение и удаление графики — самые простые и наглядные операции. В самом деле, что может быть проще, чем двинуть мышкой или нажать клавишу?..

Перемещение фрагментов изображения выполняется очень просто. Выделим нужный фрагмент (или фрагменты) и мышью перетащим его на новое место. Если нам нужно переместить графику в направлении под углом, кратным 45°, во время перетаскивания будем удерживать нажатой клавишу .

Для точного перемещения графики можно воспользоваться клавишами-стрелками клавиатуры. Выделим нужный фрагмент и будем нажимать клавиши-стрелки, пока он не окажется на нужном месте. При однократном нажатии на клавишу-стрелку происходит смещение на один пиксел. Если же мы при этом будем удерживать клавишу , при каждом нажатии выбранный фрагмент будет смещаться сразу на 8 пикселов.

На новое место можно переместить не сам выделенный фрагмент, а его копию (т. е. выполнить дублирование фрагмента). Для этого просто перетащим его, удерживая нажатой клавишу . Мы также можем выбрать пункт Duplicate в меню Edit или нажать комбинацию клавиш +, чтобы сначала продублировать выделенный фрагмент, а потом перетащить созданную таким образом его копию на нужное место.

Удалить ненужный фрагмент графики совсем просто. Для этого выделим его и либо нажмем клавишу или , либо выберем пункт Clear в меню Edit.

"Приклеивание" графики

Еще в главе 2 было сказано, что фрагмент изображения, перетаскиваемый по рабочему листу, может "приклеиваться" к другим фрагментам, линиям сетки и направляющим. Эта возможность сильно облегчает рисование сложных геометрических фигур, состоящих из нескольких примитивов.

Здесь нужно иметь в виду вот что. "Приклеивание" перемещаемого фрагмента выполняется той его точкой, за которую мы "ухватились" мышью. Эта точка (назовем ее точкой приклеивания) отображается на фрагменте в виде черного кружка (рис. 3.31).

Обычно "приклеивание" помогает рисовать, однако может принести и вред — например, если мы хотим нарисовать очень сложную и извилистую кривую с помощью инструмента "карандаш" или провести две линии очень близко друг к другу. Поэтому Flash предоставляет вам возможность временно отключить "приклеивание".

Сделать это очень просто. Если мы выбрали инструмент "стрелка", становится доступным уже знакомый нам модификатор Snap to_ Objects (Приклеивание). Он представляет собой кнопку-выключатель, расположенную в области Options главного инструментария:

Если же главный инструментарий скрыт, мы можем воспользоваться пунктом-выключателем Snap to Objects подменю Snapping меню View. А самый быстрый способ включить или отключить "приклеивание" — нажать комбинацию клавиш + ++.

Отключить "приклеивание" к линиям координатной сетки или направляющим также очень просто. В первом случае нужно отключить пункт-выключатель Snap to Grid подменю Snapping меню View или нажать комбинацию клавиш ++<’>. Во втором случае, по аналогии, следует отключить пункт-выключатель Snap to Guides подменю Snapping меню View или нажать комбинацию клавиш ++<;>.

Специально для любителей работать при крупном масштабе (400 % и более) Flash предоставляет возможность приклеивания к отдельным пикселам рабочей области. Чтобы его активизировать, нужно включить пункт-выключатель Snap to Pixels подменю Snapping меню View. После этого на экране отобразится так называемая пиксельная сетка — родная сестричка координатной сетки, но отображающая отдельные пикселы изображения. Как только мы отключим приклеивание (давайте писать это слово без кавычек) к пикселам, пиксельная сетка также пропадет.

Чтобы временно отключить приклеивание к пикселам во время рисования или правки графики, нажмем и будем удерживать клавишу <С>; когда мы ее отпустим, приклеивание включится снова. Если же мы отключили приклеивание к пикселам, нажатие клавиши <С> временно его включит. А клавиша <Х> позволит нам скрыть (или показать, если приклеивание к пикселам отключено) пиксельную сетку.

Если мы включим пункт Snap Align подменю Snapping меню View, Flash поможет выровнять графические фрагменты по их горизонтальной или вертикальной границе (выравнивающее приклеивание). При этом, когда мы "поднесем" мышью фрагмент достаточно близко к любой горизонтальной или вертикальной границе другого фрагмента, на экране появится штриховая линия — касательная к этой границе (так называемая направляющая). То же справедливо и для самого рабочего листа: как только мы приблизим фрагмент к его горизонтальной или вертикальной границе, Flash покажет нам штриховую линию. Теперь, если мы отпустим левую кнопку мыши, перетаскиваемый фрагмент "приклеится" к соответствующей границе.

Помимо всего, Flash предоставляет нам возможность настройки параметров выравнивающего приклеивания. Выберем пункт Edit Snapping подменю Snapping меню View или нажмем комбинацию клавиш +, и на экране появится диалоговое окно Edit Snapping. Сразу же нажмем кнопку Advanced этого окна, чтобы получить доступ к дополнительным элементам управления, предназначенным для настройки нужных нам параметров (рис. 3.32).

В верхней части диалогового окна Edit Snapping находятся флажки, соответствующие рассмотренным нами ранее пунктам-выключателям подменю Snapping меню View. Повторно рассматривать мы их не будем. Давайте лучше обратим внимание на элементы управления, расположенные ниже.

В поле ввода Stage border задается расстояние в пикселах, на которое перетаскиваемый фрагмент должен приблизиться к границе рабочего листа, чтобы сработало выравнивающее приклеивание. А в полях ввода Horizontal и Vertical вводится то же расстояние, но для горизонтальной и вертикальной границы других фрагментов соответственно, и тоже в пикселах.

Флажки Horizontal center alignment и Vertical center alignment позволят нам включить (или отключить) приклеивание к центру рабочего листа по горизонтали и вертикали соответственно.

Введя нужные значения, не забудем нажать кнопку ОК. Если мы передумали менять параметры притягивания, нажмем кнопку Cancel.

Кстати, подменю Snapping со всеми рассмотренными нами пунктами также присутствуют в контекстном меню рабочей области. Так что совсем не обязательно лезть в главное меню, чтобы включить или отключить приклеивание.

Работа с буфером обмена

Все современные более-менее сложные Windows-приложения позволяют работать со стандартным буфером обмена Windows. Пользователь может помещать в буфер обмена фрагменты текстов и изображений и затем вставлять их в другое место этого же или другого документа, возможно, открытого в другой программе.

Разумеется, Flash также поддерживает работу с буфером обмена. И предоставляет стандартный набор операций, которые мы сейчас рассмотрим.

Мы можем вырезать выделенный фрагмент из листа и поместить его в буфер обмена; при этом сам выделенный фрагмент с листа пропадает. Чтобы вырезать выделенный фрагмент, выберем пункт Cut меню Edit или контекстного меню выделенного фрагмента или нажмем комбинацию клавиш +.

Мы также можем скопировать в буфер обмена выделенный фрагмент, оставив его на листе. Для этого выберем пункт Сору меню Edit или контекстного меню выделенного фрагмента или нажмем комбинацию клавиш +.

Чтобы поместить (вставить) содержимое буфера обмена на рабочий лист, выберем пункт Paste in Center меню Edit или контекстного меню рабочей области или нажмем комбинацию клавиш +. Содержимое буфера обмена будет помещено в центр рабочего листа.

Если нужно поместить содержимое буфера обмена точно в ту же позицию, где находится скопированный или находился выделенный фрагмент, следует выбрать пункт Paste in Place меню Edit или контекстного меню или нажать комбинацию клавиш ++. Эта операция называется вставкой в исходную позицию.

Несколько слов о том, как Flash при вставке обрабатывает графику, созданную в других программах. При вставке текста из другой программы на рабочем листе создается новый текстовый блок (о текстовых блоках и работе с ними см. главу 7). При вставке векторной графики на рабочем листе создается группа, которая может быть разбита на отдельные фрагменты и отредактирована. При вставке растрового изображения оно также помещается на рабочий лист (об импорте растровой графики см. главу 10).

Есть еще одна возможность вставки графики или текста в другом формате, которая также является стандартной для многих Windows-приложений — вставка с преобразованием формата. Пользуясь ей, можно поместить содержимое буфера обмена на рабочий лист в другом формате, например, преобразовать векторное изображение в растровое. Иногда это бывает полезно.

Чтобы выполнить вставку с преобразованием формата, выберем пункт Paste Special меню Edit. На экране появится стандартное диалоговое окно специальной вставки Windows (рис. 3.33). В списке, занимающем большую часть этого окна, выберем нужный формат вставки. После этого нажмем кнопку ОК для выполнения вставки или кнопку Отмена (Cancel) для отказа от нее.

Изменение цвета графики

Мы можем изменять цвет линий контура и заливки, просто выделив их и задав новый цвет с помощью селекторов цвета, расположенных в области Colors главного инструментария. Кроме того, мы можем воспользоваться аналогичными селекторами цвета, расположенными в центре панели Properties (рис. 3.34).

Нужно только учитывать, что оба этих набора селекторов цвета также меняют цвета, которыми будет нарисована новая графика.

Правка контура фигуры

Контур любой фигуры, нарисованной средствами Flash, можно править, тем самым изменяя и деформируя фигуру. Это выполняется с помощью все того же инструмента "стрелка" аналогично тому, как мы только что перемещали графику с места на место.

Нужно сказать сразу, что для изменения формы фигуры нужно, прежде всего, снять с нее выделение. Если этого не сделать, фигура будет частично или полностью перемещена на другое место, а это совсем не то, что мы хотим сделать.

Итак, для того чтобы изменить форму какой-либо фигуры, будь это простейший прямоугольник или сложная кривая, нужно выбрать инструмент "стрелка", снять с фигуры выделение, найти на контуре фигуры нужную точку и переместить ее с помощью мыши. Перемещение выполняется очень просто: ставим на нужную точку курсор мыши, нажимаем левую кнопку, перемещаем мышь и отпускаем кнопку. В результате этого форма фигуры изменится.

Таким образом мы можем удлинять и укорачивать прямые линии, перетаскивая их за концы (так называемые конечные точки). Также мы можем превращать прямые линии в кривые, захватив мышью любую точку на их середине и "вытянув" ее в нужную сторону. При этом на линии будет создана точка искривления, обозначающая место, где эта линия искривляется. Посмотрим на рис. 3.35 — там показан пример того, что можно сделать с прямой линией.

В случае более сложных фигур мы можем перемещать углы (в терминологии Flash — угловые точки, т. е. точки соединения линий), тем самым вытягивая или "съеживая" их (фигур) контуры. Например, обычный прямоугольник можно "вытянуть" по диагонали за угол (рис. 3.36) или выгнуть любую из его сторон, превратив ее в кривую (рис. 3.37).

Если фигура имеет заливку, то форма заливки тоже изменится так, чтобы заполнить получившийся в результате контур. Собственно, это заметно по рис. 3.36 и 3.37. Если же контур фигуры в результате перемещения перестанет быть замкнутым, заливка сохранит форму, которую имела перед этим.

Flash предоставляет также возможность создания на прямой новой угловой точки. Обычно они задаются при создании фигуры, но иногда впоследствии бывает нужно добавить дополнительную угловую точку. Для этого выполним уже знакомую нам операцию по "вытягиванию" линии (прямой или кривой), но "вытягивать" ее будем, удерживая нажатой клавишу . В том месте, где мы "захватили" линию мышью, появится новая угловая точка. Результат может выглядеть так, как показано на рис. 3.38 — заметим, что мы создали острый угол, которого раньше не было.

Теперь самое время немного попрактиковаться. Нарисуйте какую-нибудь достаточно сложную геометрическую фигуру и немного "поиздевайтесь" над ней. Попробуйте выполнить все описанные нами операции по нескольку раз и посмотрите сами, что из этого получится.

Точная правка контуров

Мы узнали, как можно изменять форму контуров с помощью инструмента "стрелка". Однако во многих случаях рассмотренный способ может оказаться слишком грубым. Некоторые особо точные операции нельзя выполнить при помощи "стрелки". Поэтому создатели Flash предусмотрели другой инструмент — Subselection Tool (Белая стрелка). Он позволяет нам выполнять самые сложные действия над линиями контура, как прямыми, так и кривыми.

Чтобы выбрать инструмент "белая стрелка", следует щелкнуть по кнопке:

находящейся в главном инструментарии, или нажать клавишу <А> на клавиатуре. После этого курсор мыши примет вид небольшой белой стрелки.

С помощью "белой стрелки" мы можем выделять фрагменты графики, как делали это ранее уже знакомым нам инструментом "стрелка". Результат такого выделения показан на рис. 3.39. Нужно только иметь в виду, что инструмент "белая стрелка" не позволяет выделять заливки — только контуры.

Посмотрим внимательно на рис. 3.39. На контуре нарисованной фигуры хорошо заметны точки, обозначенные небольшими белыми квадратами. Это угловые точки — точки смыкания линий, прямых и кривых. Перемещая эти точки с помощью мыши или пользуясь клавишами-стрелками клавиатуры, мы можем изменять форму контура.

Щелкнем в любой угловой точке. Мы увидим, что она изменит вид (вместо белого квадратика появится зеленый) — это означает, что угловая точка выделена. Теперь мы можем удалить эту точку, если она не нужна, для чего достаточно нажать клавишу . Результат удаления одной из угловых точек нашей фигуры показан на рис. 3.40.

Теперь щелкнем в точке, расположенной в левом верхнем углу нашей фигуры. На рис. 3.41 показан результат этого действия. Видно, что теперь эта точка имеет вид не квадратика, а окружности. Это точка искривления, и она показывает, в каком месте линия изгибается. Мы также можем переместить эту точку с помощью мыши или клавиш — стрелок. Кроме того, можно перемещать точки, расположенные на концах синей касательной, чтобы изменить форму получившейся кривой.

Мы можем выполнить множественное выделение сразу нескольких угловых точек или точек искривления. Для этого при выбранном инструменте "белая стрелка" щелкнем в этих точках, удерживая нажатой клавишу . А проще всего выделить их перетаскиванием мыши, опять же при выбранном инструменте "белая стрелка".

Мы можем преобразовать имеющуюся угловую точку в точку искривления, для чего достаточно выделить ее и начать перетаскивать при нажатой клавише . Для обратного преобразования — точки искривления в угловую точку — придется воспользоваться инструментом "перо". Выберем его в главном инструментарии, щелкнем где-либо на контуре, чтобы его выделить, а потом щелкнем еще раз, уже в нужной точке (а второй щелчок вообще удалит эту точку).

С помощью инструмента "перо" можно также поместить на кривую (но не на прямую!) линию новую точку искривления. Выберем этот инструмент, щелкнем сначала по контуру, чтобы его выделить, а потом — в нужном месте нужной линии контура. Повторный щелчок преобразует точку искривления в угловую точку, а третий — вообще удалит ее.

Уф! Ох, и сложности!.. Не мешало бы поэкспериментировать со всем этим богатством для закрепления полученных знаний. Как вы считаете?

Сложное выделение. Инструмент Lasso ("Лассо")

Мы уже рассмотрели различные способы выделения графики. Добавим к ним еще парочку способов так называемого сложного выделения. При сложном выделении выделяются не целые примитивы, а их части, что позволяет художнику создавать еще более замысловатые геометрические фигуры и, стало быть, еще более оригинальную графику.

Прежде всего, рассмотрим уже знакомый нам инструмент "стрелка". Все ли мы о нем знаем? Оказывается, нет.

Давайте нарисуем на рабочем листе Flash небольшой эллипс и попытаемся выделить с помощью перетаскивания мыши его небольшую часть. Для этого сначала установим курсор мыши выше нарисованного нами эллипса и чуть левее его центра. После этого нажмем левую кнопку мыши и протащим мышь, пока курсор не окажется ниже эллипса и чуть правее его центра. Отпустим кнопку мыши и посмотрим, что у нас получилось. А получиться у нас должно что-то похожее на фигуру, приведенную на рис. 3.42.

Теперь проверим, действительно ли фрагмент эллипса выделен, — и мы сможем проделывать над ним все, что захотим. Для пробы перенесем выделенный фрагмент на другое место. Ура, получилось (см. рис. 3.43)!

Так что с помощью уже знакомого нам инструмента "стрелка" можно выделять перетаскиванием не только целые фигуры, но и их фрагменты. Это может нам очень пригодиться в дальнейшем, когда мы начнем много работать с Flash. В самом деле, каких геометрических фигур можно наделать!

Но как быть, если нужно выделить не прямоугольный фрагмент, а "лоскут" неправильной формы? "Стрелка" здесь нам не поможет. Нужен другой инструмент, который называется Lasso ("Лассо").

Чтобы выбрать инструмент "лассо", щелкнем по кнопке в главном инструментарии:

Или нажмем клавишу на клавиатуре. Курсор мыши примет вид небольшого лассо.

Как пользоваться "лассо"? Ставим курсор мыши в точку, где собираемся начать выделение, нажимаем левую кнопку мыши и, не отпуская ее, рисуем область выделения, охватывающую нужный нам "лоскут". Не забудем замкнуть контур этой области (впрочем, Flash сделает это за нас, когда мы отпустим кнопку мыши). Отпускаем кнопку мыши — и "лоскут" выделен (рис. 3.44).

Инструмент "лассо" имеет несколько дополнительных возможностей, которые могут помочь в работе. Эти возможности включаются особыми модификаторами, доступными, как обычно, в области Options главного инструментария, если выбран этот инструмент. Давайте их рассмотрим.

Модификатор Polygon Mode (Полигон) переключает "лассо" в такой режим, когда "лоскут" выделения представляет собой не замкнутую фигуру произвольной формы, а многоугольник, состоящий из отрезков прямых линий.

Чтобы включить его, нужно щелкнуть кнопку-выключатель:

При включенном модификаторе "полигон" работа с "лассо" протекает так. Мы выбираем место, где будет находиться начальная точка многоугольника выделения, ставим туда курсор мыши, щелкаем левой кнопкой и протаскиваем мышь, "вытягивая" за собой первый отрезок. Подведя курсор к месту, где должна находиться вторая точка многоугольника, опять щелкаем левой кнопкой. Далее точно таким же образом мы щелчками мыши отмечаем третью, четвертую и все остальные точки этого многоугольника. Чтобы замкнуть контур, на последней точке мы выполним не одинарный, а двойной щелчок. Пример такой многоугольной области выделения приведен на рис. 3.45.

Создание многоугольной области выделения похоже на рисование многоугольников с помощью инструмента "перо". Научиться пользоваться модификатором "полигон" легче, если держать в памяти эту аналогию.

Находясь в обычном режиме работы "лассо", мы можем временно переключиться в режим "полигона". Для этого при рисовании области выделения нужно удерживать нажатой клавишу .

Частичное стирание графики. Инструмент Eraser ("Ластик")

Компьютерный (да и обычный, "бумажный") художник не только рисует. Увы, иногда приходится и удалять только что нарисованное. В конце концов, художник — человек, а не программа, и он может ошибиться. А иногда стирание необходимо, если нужно создать сложную геометрическую фигуру путем удаления части другой фигуры, более простой.

Конечно, мы всегда можем выделить часть графики, которую нужно удалить, и нажать клавишу . Выделить фрагмент можно как с помощью уже знакомой нам "стрелки", так и "заарканив" ее инструментом "лассо". Но Flash предлагает еще один инструмент для частичного удаления нарисованных контуров и заливок — Eraser ("Ластик"). Рассмотрим его.

Инструмент "ластик" ведет себя как обычный резиновый ластик, которым мы стираем на бумаге карандашные пометки. Если брать аналогии из Flash, то "ластик" похож на "кисть": он работает по тому же принципу, только не закрашивает лист мазками, а стирает все, чего мы им коснемся.

Чтобы выбрать инструмент "ластик", щелкнем по кнопке, находящейся в главном инструментарии:

Или нажмем клавишу <Е> на клавиатуре. Курсор мыши при этом может принимать разные формы, в зависимости от настроек, заданных с помощью модификаторов (см. ниже).

Используется инструмент "ластик" аналогично инструменту "кисть". Мы ставим курсор мыши в начальную точку, нажимаем левую кнопку, двигаем мышь, стирая графику, и, в конце концов, отпускаем кнопку мыши, закончив стирание. Пример того, что может получиться у нас в результате "стирания" "ластиком", показан на рис. 3.46.

Если при работе нужно двигать "ластик" строго по горизонтали или вертикали, то во время перемещения его мы будем удерживать нажатой клавишу . Кроме того, мы можем быстро стереть все нарисованное на рабочем листе, дважды щелкнув на кнопке выбора "ластика" в главном инструментарии. Это значительно быстрее, чем последовательно нажимать сначала комбинацию клавиш + (выделение всей графики), потом — клавишу (собственно удаление). Главное только — не удалить случайно все свои труды.

Так же, как и в случае с "кистью", Flash предоставляет возможность выбора формы и размера ластика. Для этого служит единственный модификатор Eraser Shape (Форма ластика), расположенный в области Options главного инструментария. Этот модификатор представляет собой обычный раскрывающийся список, в котором в виде графических изображений представлены все доступные во Flash формы и размеры "ластика" (рис. 3.47).

Как только мы выберем с помощью этого модификатора форму и размер "ластика", форма и размер курсора мыши изменятся. Таким образом, мы всегда будем знать, каким "ластиком" пользуемся.

Еще один модификатор — "режим стирания" — позволяет задать режим работы "ластика", т. е. установить, будет ли "ластик" стирать линии контура или будет ограничиваться лишь заливками. Этот модификатор имеет вид кнопки с меню (рис. 3.48).

В меню модификатора "режим стирания" доступны пять пунктов:

□ Erase Normal — обычный режим, когда стираются любые контуры и любые заливки (см. рис. 3.46);

□ Erase Fills — стираются только заливки, контуры не стираются (рис. 3.49);

□ Erase Lines — стираются только контуры, заливки не стираются (рис. 3.50);

□ Erase Selected Fills — стирается только выделенная с помощью инструмента "стрелка" заливка, невыделенные заливки и контуры остаются нестертыми (рис. 3.51);

□ Erase Inside — стирается только заливка, находящаяся в пределах контура. То, что находится по другую сторону контура, не стирается. Сам контур также не стирается (рис. 3.52).

Но что делать, если нужно быстро стереть фрагмент графики, например, заливку или линию? Можно, конечно, переключиться на инструмент "стрелка", выделить нужный фрагмент и нажать клавишу . А можно воспользоваться модификатором Faucet (Кран). С помощью такого "крана" мы просто "смоем" ненужный фрагмент с рабочего листа.

Модификатор "кран" включается кнопкой-выключателем, которая доступна только при выбранном инструменте "ластик":

После включения этого модификатора мы можем просто щелкать на фрагментах графики, подлежащих удалению. Для отключения "крана" еще раз щелкнем по вышеупомянутой кнопке.

Дополнительные возможности работы с контурами

А теперь перечислим некоторые дополнительные возможности по работе с контурами, предоставляемые Flash.

Ранее было сказано, что при рисовании некоторыми инструментами (в частности, "карандашом" и "кистью") Flash автоматически сглаживает получившуюся графику. Однако Flash предлагает средства и для сглаживания уже нарисованной графики. Это особые модификаторы, доступные в области Options главного инструментария, если выбран инструмент "стрелка".

Первый из этих модификаторов так и называется — Smooth (Сглаживание). Он сглаживает кривые, устраняет рывки, сдвиги, нарушения кривизны и прочие дефекты, а также по мере возможности упрощает линии, иначе говоря, оптимизирует их. Благодаря такой оптимизации уменьшается количество описывающих их точек, а значит, уменьшается размер результирующего файла Shockwave/Flash и время, необходимое для вывода кривых на экран. Умелая и тщательная оптимизация всегда стоит затраченного на нее времени, так как выигрыш потом окупится многократно.

Чтобы выполнить сглаживание какой-либо кривой с помощью этого модификатора, выделим эту кривую и нажмем кнопку:

(Если на рабочем листе ничего не выделено, эта кнопка недоступна.) Также можно выбрать пункт Smooth подменю Shape меню Modify или контекстного меню выделенной линии. Чтобы выполнить более сильное сглаживание, мы нажмем эту кнопку или выберем этот пункт меню несколько раз подряд. На рис. 3.53 показан результат применения модификатора "сглаживание" к кривой.

Здесь нужно сразу сказать, что применение модификатора "сглаживание" к прямым линиям и геометрическим фигурам, чей контур состоит из прямых, не дает никакого эффекта. Также не дает эффекта применение этого модификатора к простым кривым линиям с постоянным радиусом кривизны.

Модификатор Straighten (Спрямление) выполняет совершенно противоположную задачу. Он спрямляет кривые, заостряет углы и пытается привести нарисованные нами геометрические фигуры к простейшим: прямая, прямоугольник, треугольник, эллипс. При этом он тоже оптимизирует графику.

Чтобы испытать модификатор "спрямление" в действии, выделим кривую, которую нужно спрямить, и нажмем кнопку:

(Если на рабочем листе ничего не выделено, эта кнопка также недоступна.) Также можно выбрать пункт Straighten подменю Shape меню Modify или контекстного меню выделенной линии. Опять же, чтобы выполнить более сильное спрямление, следует нажать эту кнопку или выбрать этот пункт меню несколько раз подряд. Пример применения модификатора "спрямление" к группе линий показан на рис. 3.54.

Применение модификатора "спрямление" к прямым линиям и фигурам, чей контур состоит из прямых линий, не дает никакого эффекта. Также, по-видимому, он никак не действует на кривые линии с постоянным радиусом кривизны.

Есть еще один способ сглаживания (и оптимизации) кривых. Выделим на рабочем листе контур, который нужно оптимизировать, и выберем пункт Optimize подменю Shape меню Modify или нажмем комбинацию клавиш +++. На экране появится диалоговое окно Optimize Curves, показанное на рис. 3.55.

С помощью движкового регулятора Smoothing выбирается степень сглаживания кривых. Крайнее левое значение вообще отключает всякое сглаживание, а крайнее правое — задает высшую степень оптимизации. По умолчанию движок установлен посередине шкалы — вероятно, это лучший выбор.

Будучи включенным, флажок Use multiple passes (slower) заставляет Flash оптимизировать выбранный фрагмент несколько раз подряд, пока не станет ясно, что дальнейшая оптимизация бесполезна. Такая многопроходная оптимизация выполняется значительно медленнее обычной, однопроходной, но позволяет достичь лучших результатов. По умолчанию этот флажок отключен.

Флажок Show totals message включает или выключает вывод в конце процесса оптимизации окна, содержащего сведения о результатах (рис. 3.56). По умолчанию этот флажок включен.

Установив нужные параметры оптимизации, нажмем кнопку ОК. (Если мы передумали сглаживать выделенный фрагмент, следует нажать кнопку Cancel.) Ознакомимся со сведениями о результатах сглаживания и оптимизации и закроем диалоговое окно, содержащее эти сведения, нажатием кнопки ОК.

Осталось рассмотреть совсем немногое, а именно — три интересные возможности Flash по работе с заливками и фигурами, содержащими заливки.

Первая из них — это возможность преобразования линий в заливки. Зачем это может пригодиться, непонятно, так как Flash 8, в отличие от предыдущих версий Flash, позволяет применить к линиям градиентный цвет (о градиентных цветах будет рассказано в главе 6). Правда, разработчики Flash утверждают, что преобразование линий в заливки в некоторых случаях ускоряет отображение графики, хотя размер результирующего файла Shockwave/Flash может при этом увеличиться.

Чтобы преобразовать линию в заливку, выделим нужную линию (это может быть как простая прямая линия, так и сложный контур, содержащий множество кривых Безье) и воспользуемся пунктом Convert Lines to Fills, находящимся в подменю Shape меню Modify.

Здесь нужно дать небольшие пояснения. После преобразования наша (бывшая) линия будет выглядеть как очень тонкая заливка, заключенная между очень тонкими линиями. Если мы попробуем изменить ее форму, воспользовавшись инструментом "стрелка", то сразу это увидим. На рис. 3.57 видно, что на самом деле мы переместили одну из тонких внешних линий, и заливка сразу же "распухла", чтобы заполнить образовавшееся свободное пространство.

Вторая возможность — увеличение или уменьшение размера заливки на определенное число пикселов — позволяет, в частности, получить очень интересный эффект при управлении размером заливки, созданной из линии — линия станет визуально толще или тоньше. Однако при этом может исказиться форма заливки и пропасть контур (если он есть). Поэтому используйте данную функцию осмотрительно.

Для изменения размера какой-либо заливки выделим ее (она может быть заключена или не заключена в контур). Далее выберем пункт Expand Fill подменю Shape меню Modify. На экране появится диалоговое окно Expand Fill (рис. 3.58).

В поле ввода Distance укажем расстояние, на которое увеличивается или уменьшается заливка, в пикселах. С помощью переключателей группы Direction зададим, будет ли заливка увеличиваться (переключатель Expand) или уменьшаться (Inset). После этого остается только нажать кнопку ОК для выполнения действия или Cancel для отказа от него.

Результат последовательного выполнения сначала уменьшения, а потом — увеличения заливки показан на рис. 3.59. Видно, как после этих операций у заливки пропал контур, а сама заливка исказилась.

И, наконец, рассмотрим третью возможность по работе с заливками — возможность сглаживания контура, в который она помещена. При этом контур не только сглаживается, но еще и делается как можно менее заметным: его толщина уменьшается до минимума, а цвет задается таким же, как и у заливки. Это также может быть полезно во многих случаях, например, для того, чтобы удалить из контура лишние линии.

Выделим на рабочем листе фигуру, контур которой нужно сгладить. Далее выберем пункт Soften Fill Edges подменю Shape меню Modify. На экране появится диалоговое окно Soften Fill Edges (рис. 3.60).

В поле ввода Distance укажем толщину контура, который должен получиться в результате сглаживания, в пикселах.

В поле ввода Number of steps зададим максимальное количество кривых, которое будет использовано для создания нового, сглаженного контура. Чем больше кривых будет при этом использовано, тем более сложным получится контур, но тем большим окажется результирующий файл Shockwave/Flash и тем дольше будет выводиться графика. Поэтому нужно выбрать разумный компромисс — возможно, для этого понадобится немного поэкспериментировать.

С помощью переключателей группы Direction задается, будет ли фигура увеличена (переключатель Expand) или уменьшена (Inset) для достижения эффекта сглаживания контура.

Введя нужные данные, нажмем кнопку ОК для выполнения действия или Cancel для отказа от него.

Результат сглаживания контура, примененного к сложной фигуре, нарисованной с помощью инструмента "карандаш", показан на рис. 3.61. Обратим внимание, что после этой операции контур стал невидимым, а его форма — несколько менее сложной. Также были устранены некоторые дефекты контура, в частности, ненужные линии.

 

Отмена и повтор выполненных действий

Flash, как и многие другие Windows-приложения, поможет нам исправить случайные ошибки, обязательно возникающие при работе. Мы всегда сможем отменить результат нескольких последних выполненных нами действий, восстановив то, что было до них. Эта возможность, иногда называемая откатом, позволит нам экспериментировать смелее, пробуя различные инструменты и преобразования. Если нам не понравится результат этих экспериментов, мы всегда сможем "откатиться" назад.

Чтобы выполнить откат, мы выберем пункт Undo <название операции > меню Edit или нажмем комбинацию клавиш +. Последовательно выбирая этот пункт (или нажимая клавишную комбинацию), мы можем отменять сразу несколько последних выполненных действий. Нужно только помнить, что по умолчанию Flash в состоянии отменить не более 100 последних действий; информация о более ранних действиях удаляется в целях экономии оперативной памяти. Однако в настройках программы Flash (см. главу 25)число действий, информация о которых хранится Flash, можно изменить.

Иногда бывает нужно, наоборот, отменить результат отмены последнего вашего действия ("откатить" сам откат). Такая операция называется возвратом. Для выполнения возврата нужно сразу же после отката выбрать пункт Redo <название операции> меню Edit или нажать комбинацию клавиш ++.

 

Что дальше?

Вот и все о простейших операциях рисования и инструментах, реализующих их. В следующей главе мы выясним, какие операции Flash может проделывать с уже нарисованными изображениями, а именно — изучим его возможности по трансформации и искажению графики.

 

Глава 4

Трансформация графики

 

Что ж, рисовать графику во Flash мы научились. Править тоже. Теперь выясним, что мы еще можем делать с уже нарисованной графикой.

В этой главе мы узнаем, как выполняются операции так называемой трансформации графики: сдвиг, вращение, изменение размеров и более сложные искажения. Еще мы поговорим о возможностях, предлагаемых объектным режимом рисования Flash 8; они касаются объединения двух или нескольких примитивов в один. Ну, и рассмотрим некоторые полезные инструменты, которые помогут нам точно разместить фрагменты изображения на рабочем листе. Именно с этих инструментов мы и начнем.

 

Простейшие трансформации

В этом разделе описываются простейшие манипуляции над фрагментами нашего изображения. Можно сказать, продолжим тему правки графики, начатую в главе 3.

Выравнивание и распределение

Выравнивание фрагментов изображения — это размещение их на рабочем листе особым образом: вдоль какой-либо из сторон листа, по его центру или, скажем, по правой стороне самого правого выделенного фрагмента. Распределение же — это размещение фрагментов графики таким образом, чтобы их центры или границы находились на одинаковом расстоянии друг от друга по горизонтали или вертикали либо чтобы их ширина или высота была одинаковой.

Выравнивание графики выполняется с помощью панели Align (рис. 4.1). Чтобы вызвать ее на экран, нужно включить пункт-выключатель Align меню Window или нажать комбинацию клавиш +.

Эта панель содержит пять групп кнопок, с помощью которых выполняются различные операции по выравниванию и распределению графики. Им соответствуют различные пункты подменю Align, находящегося в меню Modify. Рассмотрим их по очереди.

С помощью кнопок группы Align выполняется собственно выравнивание выделенных фрагментов изображения. (Обратим внимание: для единственного выделенного фрагмента все эти операции не имеют смысла за одним лишь исключением — если выравнивание выполняется относительно рабочего листа.) Ниже перечислены все операции, связанные с кнопками этой группы, в порядке слева направо, а в скобках указаны соответствующие им пункты подменю Align меню Modify и комбинации клавиш:

□ выравнивание по левой границе самого левого из выделенных фрагментов (пункт Left или комбинация клавиш ++);

□ выравнивание выделенных фрагментов по их центральной вертикальной оси (пункт Horizontal Center, комбинация клавиш ++<2>);

□ выравнивание по правой границе самого правого из выделенных фрагментов (пункт Right, комбинация клавиш ++<3>);

□ выравнивание по верхней границе самого верхнего из выделенных фрагментов (пункт Тор, комбинация клавиш ++<4>);

□ выравнивание выделенных фрагментов по их центральной горизонтальной оси (пункт Vertical Center, комбинация клавиш ++<5>);

□ выравнивание по нижней границе самого нижнего из выделенных фрагментов (пункт Bottom, комбинация клавиш ++<6>).

Группа кнопок Distribute отвечает за распределение выделенных фрагментов, т. е. за перемещение их таким образом, чтобы их границы или центры находились на равном расстоянии друг от друга. (Опять же, эти операции не имеют смысла для единственного выделенного фрагмента.) Ниже перечислены операции, соответствующие кнопкам этой группы, в порядке слева направо, вместе с соответствующими им пунктами подменю Align меню Modify и комбинациями клавиш (если они есть):

□ распределение верхних границ — перемещение фрагментов по горизонтали таким образом, чтобы их верхние границы находились на одинаковом расстоянии друг от друга;

□ распределение центров выделенных фрагментов по вертикали, как показано на рис. 4.2 (пункт Distribute Heights, комбинация клавиш + ++<9>);

□ распределение нижних границ;

□ распределение левых границ — перемещение фрагментов по вертикали таким образом, чтобы их левые границы находились на одинаковом расстоянии друг от друга;

□ распределение центров по горизонтали (пункт Distribute Widths, комбинация клавиш ++<7>);

□ распределение правых границ.

С помощью кнопок группы Match Size задаются критерии выравнивания горизонтальных и (или) вертикальных размеров выделенных фрагментов.

Они перечислены ниже в порядке слева направо, вместе с соответствующими им пунктами подменю Align меню Modify и комбинациями клавиш (если они есть):

□ все фрагменты должны быть одинаковой ширины (пункт Make Same Widths, комбинация клавиш +++<7>);

□ все фрагменты должны быть одинаковой высоты (пункт Make Same Heights, комбинация клавиш +++<9>);

□ все фрагменты должны быть одинаковой ширины и высоты.

С группой кнопок Space связаны две операции выравнивания расстояний между выделенными фрагментами по горизонтали и (или) вертикали. Вот они в порядке слева направо:

□ вертикальные расстояния между фрагментами должны быть одинаковыми;

□ горизонтальные расстояния между фрагментами должны быть одинаковыми.

Последняя группа панели Align содержит одну-единственную кнопку-выключатель То Stage. Эта кнопка, будучи включенной, применяет операции выравнивания или распределения выделенных фрагментов относительно рабочего листа. То есть если мы применим выравнивание по верхней границе к выделенным фрагментам при включенной кнопке То Stage, они будут выровнены не по верхней границе самого верхнего из них, а по верхней границе рабочего листа (см. рис. 4.3 и 4.4). Кнопке То Stage соответствуют пункт-выключатель То Stage подменю Align меню Modify и комбинация клавиш ++<8>.

Кстати, при включенной кнопке То Stage операцию выравнивания можно применить и в том случае, если выделен только один фрагмент изображения.

Перемещение и изменение размеров

Мы уже знаем, как перемещать выделенные фрагменты по рабочему листу с помощью мыши и клавиш-стрелок. Однако наши знания далеко не полны. Здесь мы рассмотрим еще один способ перемещения выделенной графики — путем задания числовых значений в полях ввода, расположенных на панелях Properties и Info. Точно так же можно менять размеры выделенного фрагмента графики.

Выделим на рабочем листе какой-либо фрагмент нарисованного изображения и посмотрим на панель Properties. В ее нижнем левом углу находится набор из четырех полей ввода (рис. 4.5). С их помощью задается местонахождение выделенного фрагмента и его размеры.

В полях ввода W и Н задаются соответственно ширина и высота выделенного фрагмента. В полях ввода X и Y указываются координаты фрагмента, горизонтальная и вертикальная. Сразу же после ввода каких-либо значений в эти поля нужно нажать клавишу , чтобы Flash выполнил соответствующие изменения на рабочем листе.

Нужно иметь в виду, что величины в эти поля вводятся в тех единицах измерения, которые мы выбрали в диалоговом окне Document Properties. Это окно было описано в главе 2.

Левее этих полей ввода находится небольшая кнопка-выключатель с изображением замка. Если "замок" включен, Flash при изменении одного из размеров выделенного фрагмента — горизонтального или вертикального — будет изменять другой размер так, чтобы сохранить пропорции данного фрагмента. Такие штуки приходится вытворять очень часто, так что эту кнопку следует принять на вооружение.

Теперь перейдем к панели Info (рис. 4.6). Чтобы вызвать ее на экран, следует включить пункт-выключатель Info меню Window или нажать комбинацию клавиш +.

Эта панель содержит те же четыре поля ввода, рассмотренные нами выше. Казалось бы, зачем она нужна?

Обратим внимание на значок, находящийся левее полей ввода X и Y. Это переключатель точки отсчета, позволяющий выбрать точку выделенного фрагмента, относительно которой будут отсчитываться координаты (точку отсчета).

Этот переключатель имеет девять точек, которые могут быть выбраны в качестве текущей точки отсчета. В реальности же некоторые из них всегда запрещены — об этом говорит их серая закраска. Доступные точки закрашены белым цветом (на рис. 4.6 есть только одна такая точка — центральная). Та же точка, которая выбрана в данный момент в качестве текущей точки отсчета, закрашена черным (на рис. 4.6 — верхняя левая). Это значит, что изначально точкой отсчета всех фрагментов является их верхний левый угол.

Чтобы изменить точку отсчета с помощью переключателя, достаточно щелкнуть мышью по одной из доступных точек. Она тотчас станет черной, т. е. выделенной. Правда, для этого придется хорошо "прицелиться", так как точки на переключателе очень малы.

В нашем случае (см. рис. 4.6) в качестве точки отсчета мы можем выбрать либо верхнюю левую, либо центральную точку фрагмента. Какую именно из них выбрать — зависит от каждого конкретного случая.

В нижней половине панели Info находятся информационные текстовые поля. Поля R, G, В и А показывают параметры цвета точки, находящейся в данный момент под курсором мыши, — долю в этом цвете соответственно красной, зеленой, синей составляющих и уровень прозрачности (подробнее о цвете и работе с ним мы поговорим в главе 6). Если под курсором мыши находится свободное пространство рабочего листа, в этих полях отображаются прочерки. А расположенные в нижнем правом углу текстовые поля X и Y показывают текущие координаты курсора мыши.

Зеркальное отражение

Часто бывает нужно выполнить зеркальное отражение какого-либо фрагмента изображения относительно горизонтальной или вертикальной оси. Flash предоставляет и такую возможность.

Выделим нужный фрагмент и выберем пункт Flip Horizontal или Flip Vertical подменю Transform меню Modify. Первый пункт выполняет отражение фрагмента по горизонтальной оси, второй — по вертикальной.

Управление порядком перекрытия

В главе 3 мы выяснили, что рисуемая во Flash графика подвергается фрагментации и слиянию. Это значит, что, если мы нарисуем эллипс и пересечем его прямой линией, и эллипс, и линия будут рассечены на части, а пересекающиеся одноцветные мазки, сделанные инструментом "кисть", сольются в монолитную фигуру. Это прекрасно видно на рис. 3.28 и 3.29.

Но если при рисовании графики включить режим объектного рисования, задействовав соответствующий модификатор, рисуемые примитивы будут представлять собой независимые фрагменты графики (фактически — группы). Такие фрагменты не будут подвергаться ни фрагментации, ни слиянию. Об этом мы также узнали в главе 3.

А что все это значит? А значит это то, что созданные в режиме объектного рисования примитивы могут перекрывать друг друга. Мы можем сами в этом убедиться, нарисовав в этом режиме, скажем, два эллипса и поместив их друг на друга.

Обычно примитивы, нарисованные позже, перекрывают примитивы, нарисованные раньше. Но часто возникает необходимость перенести нарисованные ранее примитивы "наверх" и, наоборот, "упрятать" нарисованные позднее "вниз", т. е. поменять порядок перекрытия нарисованных в режиме объектного рисования примитивов.

За порядок перекрытия "отвечают" пункты подменю Arrange меню Modify (это же подменю, кстати, находится в контекстном меню выделенного примитива). Вот эти пункты:

□ Bring to Front (комбинация клавиш ++<стрелка вверх>) перемещает выделенный примитив на самый верх;

□ Bring Forward (комбинация клавиш +<стрелка вверх>) перемещает выделенный примитив "этажом" выше в порядке перекрытия;

□ Send Backward (комбинация клавиш +<стрелка вниз>) перемещает выделенный примитив "этажом" ниже в порядке перекрытия;

□ Send to Back (комбинация клавиш ++<стрелка вниз>) перемещает выделенный примитив на самый низ.

Повторим еще раз: все эти операции имеют смысл только для фрагментов изображения, созданных в режиме объектного рисования. Обычная графика, нарисованная в режиме графического рисования, не может перекрывать друг друга, так как подвергается фрагментации и слиянию.

Объединение фрагментов изображения

Продолжим разговор о режиме объектного рисования, точнее, о нарисованных в этом режиме примитивах. Что мы с ними еще можем делать?

Мы можем объединять такие фрагменты и получать после этого совершенно новые фигуры. Для таких случаев Flash 8 припас для нас подменю Combine Objects меню Arrange, с которыми мы сейчас познакомимся.

Для пробы давайте создадим в режиме объектного рисования два эллипса с заливками разных цветов и разместим их на рабочем листе так, чтобы они немного накладывались друг на друга (рис. 4.7). После этого выделим оба этих эллипса и поочередно применим к ним пункты вышеупомянутого подменю.

При выборе пункта Union Flash создаст новую фигуру, вмещающую все содержимое изначальных выделенных фрагментов. Эта фигура также станет "объектным" фрагментом.

Кстати, эту операцию мы можем применить и к любому выделенному фрагменту, созданному в режиме графического рисования. В этом случае Flash превратит его в "объектный" фрагмент.

Если выбрать пункт Intersect, Flash возьмет пересекающуюся часть выделенных нами фрагментов и на ее основе создаст новую фигуру. При этом пересекающаяся часть будет принадлежать тому из выделенных фрагментов, что располагался выше всех в порядке перекрытия.

Давайте посмотрим на рис. 4.8 — там показана фигура, которую мы получим после применения к нашим эллипсам пункта Intersect. Мы видим там фрагмент меньшего эллипса (это видно по более светлой заливке), который был общим с большим эллипсом. Поскольку меньший эллипс был выше большего, Flash взял именно его фрагмент для создания новой фигуры.

Заметим, что после применения пункта Intersect изначальные фрагменты будут удалены. В дальнейшем об этом не следует забывать.

Пункт Punch, вероятно, следует применять только к двум выделенным фрагментам — по крайней мере, так можно будет получить более предсказуемый результат. После выбора этого пункта Flash удалит из нижнего в порядке перекрытия фрагмента часть, общую с верхним фрагментом. В результате получится фигура, содержащая "урезанный" нижний фрагмент; верхний фрагмент также будет удален (рис. 4.9).

А пункт Crop оставляет в результирующей фигуре только те части выделенных фрагментов, кроме верхнего, что являются общими с самым верхним фрагментом. Верхний фрагмент при этом удаляется (рис. 4.10).

Нелишне напомнить, что описанные выше операции имеют смысл только для фрагментов изображения, нарисованных в режиме объектного рисования. Если же нужно применить их к обычному, "графическому" фрагменту, то следует преобразовать его в "объектный" фрагмент, для чего достаточно выделить его и выбрать пункт Union подменю Combine Objects меню Arrange.

 

Более сложные трансформации

От простого — к сложному. Это вечный путь познания. Последуем им и мы.

Сложные трансформации графики (вращение, сдвиг, изменение размеров и пр.) выполняются во Flash 8 с помощью особого инструмента, называемого Free Transform (Трансформатор). Чтобы выбрать его, достаточно щелкнуть по кнопке главного инструментария:

Или нажать клавишу . Курсор мыши примет вид черной стрелки.

Теперь нам останется только щелкнуть на нужном фрагменте изображения, чтобы его выделить. И читать дальше.

Изменение размеров

Мы уже знаем, как можно изменить размеры выделенного фрагмента. Для этого достаточно указать новые значения в полях ввода W и Н, находящихся в панели Properties (см. рис. 4.5) и Info (см. рис. 4.6), и нажать клавишу . В общем, ничего сложного.

Однако изменить размеры фрагмента графики можно намного проще и удобнее — с помощью мыши. Для этого используется модификатор Scale (Изменение размера), доступный при выбранном инструменте "трансформатор". Чтобы включить его, нужно щелкнуть по кнопке-выключателю:

Если главного инструментария на экране нет, можно воспользоваться главным меню. Для этого нам даже не придется выбирать инструмент "трансформатор". Просто включаем пункт-выключатель Scale подменю Transform меню Modify — и можем управлять размерами выделенного фрагмента.

Посмотрим теперь на выделенный нами фрагмент графики. Он должен выглядеть так, как показано на рис. 4.11, — он словно вписан в уже знакомый нам по главе 3 прямоугольник выделения, на сторонах и углах которого на этот раз расположены черные квадратики — маркеры изменения размеров.

Чтобы изменить какой-либо из геометрических размеров выделенного фрагмента, достаточно перетащить мышью нужный маркер. Маркеры на вертикальных сторонах прямоугольника выделения меняют ширину фрагмента, а маркеры на горизонтальных сторонах — его высоту. Если нам нужно изменить одновременно и ширину, и высоту фрагмента, мы воспользуемся одним из маркеров, расположенных в углах (на вершинах) прямоугольника выделения. А если нам нужно сделать то же самое, но без искажения пропорций фрагмента, мы начнем перетаскивать угловой маркер, нажмем клавишу и будем удерживать ее, пока не закончим перетаскивание.

Есть еще один способ изменения размеров выделенного фрагмента — воспользоваться панелью Transform (рис. 4.12). Чтобы вывести ее на экран, мы включим пункт-выключатель Transform меню Window или нажмем комбинацию клавиш +.

Использование этой панели чем-то напоминает использование панели Info. Нужные размеры фрагмента вводятся в два верхних поля ввода: горизонтальный размер — в левое, вертикальный — в правое. Причем размеры эти указываются не в обычных единицах измерения, заданных нами при установке параметров документа Flash (см. главу 2), а в процентах относительно текущего размера. Мы можем вводить значения от 1 до 1000 %. После ввода не забудем нажать клавишу .

Если мы включим флажок Constrain, расположенный правее этих полей ввода, Flash будет сохранять пропорции фрагмента. При этом если мы введем в одно поле ввода новое значение, содержимое второго поля ввода изменится — Flash сам вычислит новое значение, чтобы соблюсти эти пропорции.

Вращение и сдвиг

Вращение и сдвиг выделенного фрагмента также осуществляются с помощью инструмента "трансформатор". Однако модификатор для этого используется другой — Rotate and Skew (Вращение и сдвиг). Он включается с помощью кнопки-выключателя:

Также можно включить пункт-выключатель Rotate and Skew подменю Transform меню Modify.

Выделенный фрагмент графики имеет при этом вид, показанный на рис. 4.11, т. е. такой же, как при выбранном модификаторе "изменение размеров". Он также вписан в прямоугольник выделения, но имеет другие маркеры, выполняющие другие функции. Так, на углах прямоугольника выделения расположены квадратные маркеры вращения, а на сторонах — маркеры сдвига.

Чтобы выполнить вращение выделенного фрагмента, мы перетащим мышью один из угловых маркеров — неважно, какой. Чтобы повернуть фрагмент на угол, кратный 45°, при перетаскивании маркера будем удерживать нажатой клавишу . Чтобы выполнить Сдвиг, мы перетащим мышью маркер, находящийся на нужной стороне прямоугольника: горизонтальной — для сдвига по горизонтали или вертикальной — для сдвига по вертикали.

В центре прямоугольника выделения находится белая точка. Это центр вращения фрагмента, вокруг него осуществляется поворот. Его также называют точкой фиксации. Мы можем перетащить точку фиксации в другое место и даже вынести за пределы прямоугольника. Чтобы вернуть ее обратно в центр прямоугольника выделения, следует дважды щелкнуть на ней мышью.

Если нужно быстро повернуть выделенный фрагмент на 90°, проще всего воспользоваться главным меню. Пункт Rotate 90 °CW подменю Transform меню Modify поворачивает фрагмент на 90° по часовой стрелке, а пункт Rotate 90 °CWW — против часовой стрелки. Вместо выбора этих пунктов можно нажать комбинацию клавиш ++<9> и ++ +<7> соответственно.

И, конечно же, мы можем повернуть или сдвинуть фрагмент, воспользовавшись панелью Transform (см. рис. 4.12). Выведем ее на экран. После этого включим переключатель Rotate и введем в расположенное справа от него поле ввода нужный угол поворота. Чтобы выполнить сдвиг, нам нужно будет включить переключатель Skew и ввести в расположенные справа от него поля ввода нужные углы сдвига: горизонтального — в левое поле ввода, вертикального — в правое. Теперь остается нажать клавишу < Enter> — и дело сделано.

Если мы хотим одновременно повернуть графический фрагмент и изменить его размеры, мы можем использовать особую функцию Flash. Выберем пункт Scale and Rotate подменю Transform меню Modify или нажмем комбинацию клавиш ++. На экране появится диалоговое окно

Scale and Rotate (рис. 4.13). Зададим в поле ввода Scale новый масштаб фрагмента в процентах, а в поле ввода Rotate — угол поворота в градусах. После этого останется только нажать кнопку ОК; если же мы хотим отказаться от манипуляции над фрагментом, нажмем кнопку Cancel.

Искажение формы

На взгляд автора, возможность искажения формы во Flash включена напрасно, и модификатор Distort (Искажение формы) на самом деле не так уж нужен. Все операции, которые он предоставляет в распоряжение пользователя, можно проделать, используя хорошо знакомый нам по главе 3 инструмент "стрелка". Хотя, может быть, этот модификатор позволяет начинающим пользователям изменить форму контура более простым и наглядным способом. Поэтому мы его все же рассмотрим.

Чтобы включить модификатор "искажение формы", нужно нажать кнопку-выключатель:

Также можно включить пункт-выключатель Distort подменю Transform меню Modify или одноименный пункт контекстного меню выделенного фрагмента. Выделенный нами фрагмент станет таким, как показано на рис. 4.14. В углах и на сторонах прямоугольника выделения появятся маркеры искажения формы, имеющие вид черных квадратиков.

Мы можем перемещать маркеры, расположенные на сторонах прямоугольника выделения. При этом будут изменяться размеры графического фрагмента. Если же мы переместим угловой маркер, форма фрагмента исказится — "вытянется" или "втянется" соответственно. Например, из обычного квадрата можно, "вытянув" один его угол и "втянув" противоположный, получить фигуру, показанную на рис. 4.15.

Деформация

Также во Flash имеются средства, позволяющие произвольно деформировать графические фрагменты. Это модификатор Envelope (Огибающая) инструмента "трансформатор". Сейчас мы выясним, как им пользоваться.

Чтобы включить модификатор "огибающая", нужно нажать кнопку-выключатель:

Также можно включить пункт-выключатель Envelope в подменю Transform меню Modify или одноименный пункт контекстного меню выделенного фрагмента. После этого фрагмент примет вид, показанный на рис. 4.16.

В этом случае прямоугольник выделения имеет много маркеров огибающей. Принцип работы с ними можно выразить одной фразой: выбираем нужный маркер и тащим его мышью. В результате этого выделенный фрагмент будет

Вообще, стоит поэкспериментировать с модификатором "огибающая", чтобы понять, как он работает. Нарисуйте несколько фигур и испытайте этот модификатор в действии.

искажаться. Например, показанный на рис. 4.16 эллипс можно превратить в нечто, совсем не напоминающее эллипс — см. рис. 4.17.

Свободная трансформация

Если при выбранном инструменте "трансформатор" не включен ни один модификатор, то Flash по широте душевной включает все эти модификаторы одновременно. В этом случае говорят о так называемой свободной трансформации. При свободной трансформации мы можем как угодно изменять выделенный фрагмент, не заботясь о том, какой модификатор нужно включить. Однако работать в этом случае становится довольно сложно.

Чтобы выбрать свободную трансформацию, проще всего отключить все кнопки — выключатели, "ответственные" за модификаторы инструмента "трансформатор". Все эти кнопки находятся в области Options главного инструментария. Также мы можем включить пункт-выключатель Free Transform подменю Transform меню Modify или контекстного меню выделенного фрагмента. Выделенный фрагмент примет вид, показанный на рис. 4.11.

Чтобы выполнить то или иное преобразование, поместим курсор мыши над нужным маркером прямоугольника выделения. Курсор мыши примет при этом "говорящую" форму. Скорее всего, нам придется некоторое время подвигать курсор возле разных маркеров, прежде чем он эту форму примет. После этого "захватим" маркер и переместим его на новое место, как и в случае других модификаторов.

По мнению автора, свободная трансформация более пригодна для достаточно опытных художников. Начинающим же поначалу будет удобнее пользоваться различными модификаторами инструмента "трансформатор". (Вероятно, так же считают и разработчики пакета Flash, если они предусмотрели в своем детище все эти модификаторы.)

 

Дополнительные возможности

В этом разделе описаны некоторые дополнительные возможности по трансформации графики, которые могут нам пригодиться.

Трансформация копии графического фрагмента

Иногда требуется не просто выполнить какую-либо трансформацию над выделенным фрагментом, а создать его трансформированную копию в буфере обмена Windows, чтобы потом вставить ее в этот же или другой документ. Flash предоставляет такую возможность с одним ограничением: поддерживаются только трансформации, доступные в панели Transform (см. рис. 4.12): изменение размеров, вращение и сдвиг. Но, как говорится, и на том спасибо…

Воспользовавшись панелью Transform, зададим нужные трансформации. После этого нажмем кнопку:

Она расположена в правом нижнем углу этой панели. В буфере обмена будет создана трансформированная копия выделенного фрагмента, в то время как сам выделенный фрагмент не изменится.

Сброс всех трансформаций, примененных к фрагменту

Когда мы с помощью панели Transform применяем какую-то трансформацию к выделенному фрагменту — вращаем его, сдвигаем или меняем его размеры, — Flash сохраняет в памяти его изначальное состояние. Поэтому, если мы захотим вернуться к исходному фрагменту — такому, каким он был до этой трансформации (выполнить сброс трансформаций), нам достаточно будет выбрать пункт Remove Transform подменю Transform меню Modify или нажать комбинацию клавиш ++. Также мы можем нажать кнопку, расположенную в правом нижнем углу панели Transform:

После этого мы сможем сказать своему многострадальному фрагменту словами старой песни: "каким ты был, таким остался".

Внимание!

Имейте в виду, что таким образом можно отменить только самую последнюю примененную к фрагменту трансформацию. Все предыдущие трансформации отмене не подлежат. Кроме того, повторим, таким способом возможно сбросить только те трансформации, которые были выполнены с помощью панели Transform.

Блокировка фрагмента изображения

Очень часто бывает нужно выполнить какие-либо манипуляции с фрагментом, являющимся частью сложного изображения. При этом другие части этого изображения, расположенные рядом, мешают выполнить эти манипуляции; если мы попытаемся, например, сдвинуть фрагмент, то существует риск сдвинуть и соседние. Бывает и наоборот: нужно выполнить манипуляции над "соседями" какого-либо фрагмента, не затронув сам этот фрагмент. А поскольку изображение очень сложное, сделать это часто весьма затруднительно.

Специально для таких случаев Flash предоставляет возможность заблокировать какой-либо фрагмент, а именно, сделать его не выделяемым инструментом "стрелка" и немодифицируемым. Заблокированный фрагмент ведет себя как фон рабочего листа: мы можем щелкать на нем мышью без всякого риска для себя и для него.

Чтобы заблокировать какой-либо фрагмент, прежде всего, следует преобразовать его в группу, т. е. сгруппировать. Для этого достаточно выделить нужный фрагмент и выбрать пункт Group меню Modify или нажать комбинацию клавиш +. Разумеется, фрагменты, созданные при включенном режиме объектного рисования, группировать совершенно не обязательно.

Теперь выберем пункт Lock подменю Arrange меню Modify или нажмем комбинацию клавиш ++. После этого фрагмент (точнее, созданная на его основе группа) будет заблокирован. Попробуйте щелкнуть на нем мышью — он никак не прореагирует.

Закончив нужные действия, этот фрагмент следует разблокировать. Для этого достаточно выбрать пункт Unlock All подменю Arrange меню Modify или нажать комбинацию клавиш +++. Ну, а для разгруппировки его служат пункт Ungroup меню Modify и комбинация клавиш ++.

Заметим, что пункт меню, предназначенный для разблокирования фрагмента, носит название Unlock All, а не Unlock (т. е. "разблокировать все", а не "разблокировать"). Так как заблокированный фрагмент нельзя выделить, мы не можем разблокировать отдельно взятый фрагмент, оставив другие блокированными. Поэтому Flash разблокирует сразу все заблокированные ранее фрагменты.

 

Что дальше?

Вот мы и закончили знакомство с возможностями Flash 8 по трансформации графики. Их немало, что и говорить.

Познакомимся теперь еще с одной возможностью Flash — слоями, служащими для разделения фрагментов изображения с целью избежать их фрагментации и слияния. Без него не обойтись при создании анимации, о которой пойдет речь в части III этой книги. Слоям полностью посвящена следующая глава.

 

Глава 5

Работа со слоями

 

В этой главе речь пойдет о слоях Flash и их использовании.

Слой (в терминологии Flash — layer) можно рассматривать как лист прозрачной пленки, лежащий на рабочем листе Flash. Мы можем рисовать на любом слое, используя изученные в главе 3 инструменты рисования. При этом нарисованная на слое графика будет скрывать все, что находится на нижележащих слоях точно под ней.

Слои помогут нам разнести различные фрагменты изображения так, что они не будут ни фрагментироваться, ни сливаться, поскольку они не будут соприкасаться друг с другом. (О фрагментации и слиянии см. главу 3.) Пожалуй, это лучшее решение проблемы нежелательной фрагментации и ненужного слияния. Кроме того, слои очень активно применяются при создании трансформационной анимации, речь о которой пойдет в главах 12 и 14.

Слои сами по себе не увеличивают размер файла документа Flash и результирующего файла Shockwave/Flash. Увеличивает его только графика, расположенная в этих слоях.

 

Создание слоев и управление ими

Когда в главе 2 мы рассматривали окно документа Flash, то ограничились только собственно рабочей областью. Теперь самое время приняться за панель Timeline, о которой мы ранее только упомянули. Если эта панель почему-то отсутствует, следует включить пункт-выключатель Timeline меню Window или нажать комбинацию клавиш ++.

В данный момент нам больше всего пригодится левая часть панели Timeline, в которой находится нечто, напоминающее собой таблицу из четырех колонок (рис. 5.1). Это список всех слоев, присутствующих в документе.

Если список слоев слишком узок, мы можем его расширить. Для этого достаточно переместить вправо толстую серую линию, отделяющую его от правой части панели Timeline.

Список слоев организован в виде таблицы. В самой левой его колонке перечислены уникальные имена слоев — по этим именам слои однозначно идентифицируются Flash.

В данный момент (см. рис. 5.1) документ содержит всего один слой под именем Layer 1. Этот слой автоматически формируется самим Flash при создании нового документа. Разумеется, если нам понадобятся другие слои, мы всегда сможем их добавить.

Слои в списке располагаются в том порядке, в каком они "сложены" на рабочем листе. Графика, нарисованная на вышележащих слоях, будет при этом перекрывать графику, нарисованную точно под ней на нижележащих слоях. Сами же слои прозрачные, они ничего собой не закрывают.

Мы можем выделить нужный слой в списке, для чего достаточно на нем щелкнуть. После выделения слоя вся помещенная на нем графика будет выделена. И наоборот, если мы выделим какой-либо фрагмент графики, в списке слоев панели Timeline будет автоматически выделен слой, на котором находится этот фрагмент.

Мы также можем использовать множественное выделение. Если нужно выделить непрерывную группу слоев, мы щелкнем на первом слое выделяемой группы, нажмем клавишу и, удерживая ее, щелкнем на последнем слое. Если же нам понадобится выделить несколько несвязанных слоев, то мы сначала щелкнем на первом, а потом продолжим щелкать на остальных слоях, удерживая нажатой клавишу . (Кстати, такая же методика применяется для выделения файлов в Проводнике Windows.)

Чтобы создать новый слой, проще всего нажать кнопку Insert Layer, расположенную под списком слоев:

Также можно выбрать пункт Layer подменю Timeline меню Insert или пункт Insert Layer контекстного меню выделенного слоя. Новый слой будет помещен в список над ранее выделенным слоем и сам автоматически станет выделенным.

Всем вновь создаваемым слоям Flash дает имена по умолчанию вида Layer <Порядковый номер>. Чтобы переименовать слой, достаточно дважды щелкнуть на его имени, после чего там появится небольшое поле ввода, в котором будет видно старое имя слоя. Вводим туда новое имя и нажимаем клавишу < Enter> для его сохранения или клавишу для отказа от переименования слоя. Имена слоев могут включать практически любые символы: русские и латинские буквы, цифры, пробелы и знаки подчеркивания.

Мы можем перемещать слои в списке, меняя порядок перекрытия одного другим. Для этого достаточно просто перетащить мышью нужный слой или выделенную группу слоев на новое место.

Удалить ненужный слой можно разными способами. Проще всего выделить слой, который требуется удалить, и нажать кнопку Delete Layer, расположенную в нижней части списка слоев:

Также можно перетащить ненужный слой прямо на эту кнопку. Ну и, наконец, можно выбрать пункт Delete Layer в контекстном меню выделенного слоя.

Внимание!

Слой удаляется вместе со всей расположенной в нем графикой.

Flash позволяет удалить любой слой, созданный пользователем. Но самый первый слой, образованный самим Flash при создании нового документа, удалить невозможно.

А теперь давайте посмотрим еще раз на рис. 5.1. Как мы уже знаем, он представляет собой таблицу из четырех колонок. Все они перечислены ниже в порядке слева направо:

□ имя слоя;

□ видимость слоя (помечена изображением глаза);

□ блокировка слоя (помечена изображением замка);

□ отображение содержимого слоя разными цветами (помечена черным прямоугольником).

Колонка имени слоя нам уже знакома. А зачем нужны остальные?

Вторая колонка позволяет управлять видимостью слоя, т. е. будет ли содержимое слоя отображаться в рабочей области. Иногда бывает полезно скрыть некоторые слои, чтобы расположенная на них графика не мешала работе. Для этого достаточно щелкнуть мышью на точке, находящейся в этой колонке, — и вместо точки появится красный крестик, означающий, что данный слой скрыт. Чтобы вновь "открыть" скрытый слой, следует щелкнуть на красном крестике; крестик исчезнет, и слой со всем его содержимым снова станет видимым.

Третья колонка предоставляет возможность заблокировать слой, после чего графика, находящаяся в таком слое, станет недоступной для выделения и правки. Это может понадобиться, например, если мы захотим исправить часть сложного изображения, расположенную в одном слое, не затрагивая содержимое остальных слоев. Чтобы заблокировать слой, опять же, нужно щелкнуть мышью на точке, находящейся в этой колонке. После щелчка вместо точки появится красный крестик, и слой будет заблокирован. Этот крестик вместе с блокировкой слоя пропадет при следующем щелчке мышью.

Последняя — четвертая — колонка позволяет отобразить содержимое слоя схематично, в виде одних только контуров, окрашенных в какой-либо один цвет (схематичный режим слоев). Это часто помогает правильно определить, в каком слое находится тот или иной фрагмент изображения. Включается и отключается схематичное отображение все так же — щелчком мышью.

Если щелкнуть, скажем, на точке во второй колонке, удерживая клавишу , то будут скрыты сразу все слои. Такого же результата можно добиться, если щелкнуть на значке "глаз" в заголовке колонки. Если же щелкнуть на точке в колонке, удерживая клавишу , то будут скрыты все слои, кроме того, которому "принадлежит" эта точка. Все эти приемы действуют и для других колонок списка слоев.

Если дважды щелкнуть на значке, находящемся левее имени слоя, на экране появится диалоговое окно Layer Properties (рис. 5.2), позволяющее задать различные параметры данного слоя. Это окно можно вызвать также, выбрав пункт Layer Properties подменю Timeline меню Modify или пункт Properties контекстного меню выделенного слоя.

В поле ввода Name задается имя слоя. Флажок Show включает или отключает отображение содержимого слоя на рабочем листе, т. е. управляет видимостью слоя. Флажок Lock позволяет заблокировать слой. А флажок View layer as outlines включает или отключает схематичный режим для данного слоя. Все это нам уже знакомо.

С помощью селектора цвета Outline color мы можем задать цвет, которым будут отображаться контуры графики, если для данного слоя включен схематичный режим. Впрочем, этим селектором цвета мы вряд ли будем часто пользоваться: Flash и сам довольно удачно распределяет цвета по соответствующим слоям.

С помощью раскрывающегося списка Layer height мы можем задать высоту строки списка соответствующей данному слою. Этот раскрывающийся список содержит три пункта: 100 % (значение по умолчанию), 200 % и 300 %. На рис. 5.3 показан слой Layer з, представленный в списке строкой утроенной высоты (пункт 300 % раскрывающегося списка Layer height). Такая возможность пригодится нам при работе со звуком (см. главу 17).

С помощью набора переключателей Туре задается тип слоя. Выбор переключателя Normal делает слой обычным, т. е. слоем, содержащим некую графику и не имеющим какого-то специального назначения. Остальные поддерживаемые Flash типы слоев, имеющие специальное назначение, мы рассмотрим в главе 14.

Задав нужные параметры слоя, следует нажать кнопку ОК. Чтобы отменить их, достаточно нажать кнопку Cancel.

Использование папок для организации слоев

Для организации наборов файлов на диске компьютера применяются папки. Папки позволяют собирать вместе файлы, относящиеся к одной теме: отчеты к отчетам, личные письма к личным письмам, фотографии любимого бульдога к фотографиям любимой тещи. Правильная организация папок позволяет держать файлы в порядке и быстро их находить.

Для организации слоев Flash в иерархическую структуру также применяются папки. Используя папки, мы можем разложить по отдельным "полочкам" слои, содержащие похожие элементы изображения: надписи к надписям, кнопки к кнопкам, растровые изображения к растровым изображениям и т. д. Благодаря папкам мы сможем навести порядок в сложном документе Flash и не запутаться в нем, если понадобится что-то срочно найти.

Чтобы создать папку, нужно нажать кнопку Insert Layer Folder, расположенную в нижней части списка слоев:

Также можно выбрать пункт Layer Folder подменю Timeline меню Insert или пункт Insert Folder контекстного меню выделенного слоя. Вновь созданная папка появится выше выделенного СЛОЯ (рис. 5.4) И получит ИМЯ ПО умолчанию вида Folder <Порядковый номер>.

Чтобы переместить слой или несколько слоев в папку, просто выделим их и перетащим мышью на строку списка, обозначающую данную папку, или на один из слоев, уже находящихся в папке. Папка с помещенными в нее слоями показана на рис. 5.5.

Чтобы извлечь слой из папки, мы просто "вытащим" его мышью наружу. Точно таким же образом мы можем перемещать слои из одной папки в другую. И, конечно же, мы можем перемещать слои внутри папки.

Выделяются папки точно так же, как слои, причем мы можем использовать как обычное, так и множественное выделение. При выделении папки также выделяются все находящиеся в ней слои.

Flash также поддерживает создание папок, вложенных в другие папки. Чтобы создать вложенную папку, просто выделим любой слой, находящийся в папке, и нажмем кнопку Insert Layer Folder или выберем один из описанных выше пунктов меню.

Также мы можем переместить уже существующую папку в другую, перетащив ее мышью. При этом будут также перемещены все слои, находящиеся в папке.

Мы можем переименовывать папки, блокировать, управлять видимостью и переключать в схематичный режим все находящиеся в них слои. Эти операции для папок выполняются точно так же, как и для слоев.

Левее имени папки находится значок папки, а еще левее — небольшая треугольная стрелка. Если эта стрелка указывает вниз, то папка раскрыта, и мы можем наблюдать все содержащиеся в ней слои. Если же эта стрелка указывает вправо, то папка закрыта. Щелкая стрелку мышью, мы можем раскрывать и закрывать папку. Также мы можем выбрать в контекстном меню папки или находящегося в ней слоя пункт Expand Folder (развернуть папку) или Collapse Folder (свернуть папку). А пункты Expand All Folders (развернуть все папки) и Collapse All Folders (свернуть все папки) позволят нам соответственно развернуть или свернуть все папки списка слоев.

Чтобы удалить ненужную папку, нужно ее выделить и нажать уже знакомую нам кнопку Delete Layer — она имеет власть и над папками. Также можно выбрать пункт Delete Folder в контекстном меню выделенной папки. После этого Flash выведет окно-предупреждение, сообщающее о том, что папка будет удалена вместе со всеми находящимися в ней слоями. Для удаления папки нужно нажать Yes, для отказа от удаления — кнопку No.

И, наконец, мы можем превратить слой в папку. Для этого нужно вызвать на экран диалоговое окно Layer Properties (см. рис. 5.2), выбрать в группе Туре этого окна переключатель Folder и нажать кнопку ОК. Нужно только помнить, что при этом содержимое слоя безвозвратно пропадет.

Также есть возможность превратить папку в слой. Для этого требуется выбрать переключатель Normal группы Туре диалогового окна Layer Properties. При этом слои, вложенные в преобразуемую папку, останутся нетронутыми.

 

Распределение графики по слоям

Иногда бывает нужно "разбросать" фрагменты изображения, находящиеся в одном слое, по разным слоям. В терминологии Flash эта операция называется распределением графики по слоям. При этом Flash сам создаст нужное количество слоев и переместит на них выделенные нами фрагменты: каждый фрагмент на "свой" слой.

Чтобы выполнить распределение фрагментов изображения по слоям, нужно сначала выделить их. Если эти фрагменты сгруппированы, разбивать их не нужно — Flash достаточно умен, чтобы выполнить это самостоятельно. После этого следует выбрать пункт Distribute to Layers подменю Timeline меню Modify или в контекстном меню выделенных фрагментов или нажать комбинацию клавиш ++.

 

Что дальше?

Вот мы и закончили разговор о слоях. Точнее, прервали. Когда мы будем учиться создавать во Flash анимацию, мы вернемся к слоям.

Следующая глава будет посвящена средствам, предоставляемым Flash для управления цветами. Вы удивитесь, насколько они мощные! А иначе и быть не могло — ведь художник пользуется красками, и красок у него бывает очень много.

 

Глава 6

Работа с цветом и стилем линий

 

Что такое рисование? В основном — работа с цветом. Настроение любой картины создается в значительной степени соответствующим подбором цветов. Более того, настоящий художник должен иметь превосходное цветовое зрение, чтобы различить и перенести на бумагу (холст, дерево или иной носитель) все оттенки красок окружающего мира. И любой — и "бумажный", и компьютерный — художник сам готовит себе краски.

Именно поэтому разговор о цветах и управлении ими автор вынес в отдельную главу. Именно поэтому он не описал полностью работу с цветами в главе 3, рассказывающей о рисовании, а ограничился только базовыми средствами, без которых на первых порах не обойтись. Базовые средства хороши только для начинающих художников, рисующих на рабочем листе свои первые фигуры и не слишком озабоченных подбором цветов. Приготовить свои "краски" с их помощью вы не сможете.

В этой главе мы поведем разговор о средствах, предлагаемых Flash для работы с цветом. Мы подробнее рассмотрим уже знакомый нам селектор цвета, дополнительные инструменты и специальные панели.

Кроме того, мы рассмотрим некоторые инструменты для задания стиля линий. В терминологии Flash это значит, будет ли линия сплошной или штриховой, как будет оформлено пересечение линий и какой вид будут иметь их концы.

 

Инструменты выбора цвета

Но начнем мы отнюдь не с приготовления "красок". Первым делом мы поговорим о различных инструментах выбора цвета, доступных во Flash. Помимо области задания цвета главного инструментария и панели Properties, для этого используется особая панель Color Mixer, с помощью которой можно также создавать новые цвета, не существующие в селекторе. Да и сам селектор цвета таит в себе много сюрпризов.

Использование селектора цвета

Наличие селектора цвета — отличительная черта всех продуктов фирмы Macromedia. С ним мы уже знакомы. Мы умеем выбрать цвет с его помощью. Но всех его возможностей мы еще не знаем.

Давайте взглянем на рис. 6.1, на котором изображен открытый селектор цвета, находящийся в области задания цвета главного инструментария. Как его открыть, мы знаем еще из главы 3.

Мы видим, что бо льшая часть окна селектора цвета занята набором цветных квадратиков, представляющих все доступные для выбора цвета, — так называемой палитрой. Чтобы выбрать требуемый цвет, нужно поместить курсор над соответствующим квадратиком и щелкнуть левой кнопкой мыши. Окно селектора цвета после этого закроется. Закрыть его без выбора цвета можно нажатием клавиши .

Однако селектор цвета предоставляет еще одну интересную возможность. Давайте откроем его и присмотримся к курсору. Нетрудно заметить, что он после этого примет вид небольшой пипетки. Щелкнем этой "пипеткой" в нужной точке экрана — и цвет этой точки будет выбран селектором. Таким образом мы можем "позаимствовать" для работы цвет любого окна Windows, выбрать цвет из открытой в графическом редакторе фотографии и т. п.

В верхней части окна селектора находится небольшое поле ввода. В этом поле ввода отображается шестнадцатеричный код цвета той точки, которая в данный момент находится под курсором мыши. Все цвета, отображаемые на экране компьютера, однозначно идентифицируются их кодами. Попробуем перемещать курсор (имеющий вид пипетки) по экрану и посмотрим, как будет изменяться содержимое этого поля ввода. Разумеется, мы также можем ввести нужное значение кода цвета вручную, если, конечно, оно нам известно.

О кодах цветов мы еще поговорим в этой главе. А пока вернемся к селектору цвета.

В верхнем правом углу открытого окна селектора цвета находится небольшая кнопка:

С ее помощью мы можем вызвать на экран стандартное диалоговое окно выбора цвета Windows (рис. 6.2). Это может понадобиться, если мы не смогли найти в палитре селектора нужного нам цвета. Как пользоваться этим окном, описано в интерактивной справке Windows.

Если в главном инструментарии выбран инструмент "прямоугольник", "эллипс" или "перо", то в верхнем правом углу окна селектора цвета появится кнопка:

Это кнопка отключения цвета, позволяющая запретить рисование контура или заливки, в зависимости от того, в каком селекторе цвета она была нажата. То есть если мы откроем селектор цвета фона, нажмем эту кнопку и нарисуем прямоугольник, последний не будет содержать заливку.

Если кнопка отключения цвета была нажата, то соответствующий селектор цвета будет перечеркнут (рис. 6.3) — "отключен". Чтобы снова "включить" его, достаточно открыть его и выбрать любой цвет.

Область Colors главного инструментария

Теперь посмотрим на область задания цветов Colors главного инструментария. Она тоже таит немало полезных сюрпризов.

В нижней части этой области находится еще одна кнопка отключения цвета. Она имеет такое же обозначение, как и аналогичная кнопка селектора цвета, только меньше по размерам. Чтобы "отключить" с ее помощью какой-либо селектор цвета, нужно щелкнуть на его обозначении (значке карандаша или ведра с краской), чтобы его выбрать (выбранный селектор цвета отображается в утопленном виде), и нажать эту кнопку. Чтобы "включить" селектор цвета, его нужно снова выбрать и еще раз щелкнуть по этой кнопке.

Кнопка, расположенная там же, задает для цветов линий и заливок значения по умолчанию:

Во Flash это соответственно черный и белый цвета.

А эта кнопка позволит нам мгновенно поменять местами цвета линии и заливок:

Создание новых цветов. Смеситель

Конечно, палитра селектора цвета весьма богата, и во многих случаях ее богатства может хватить. Однако для серьезной работы часто нужны цвета, которые в ней не присутствуют. Поэтому Flash предоставляет средства, позволяющие создавать новые цвета, применять их к выбранным на рабочем листе фрагментам изображения и добавлять при необходимости в палитру.

Этот инструмент — особая панель Color Mixer, называемая также смесителем цветов. Именно так мы и будем называть, для краткости, эту панель.

Чтобы вывести смеситель цветов на экран, нужно включить в меню Window пункт-выключатель Color Mixer или нажать комбинацию клавиш + +. Появившийся на экране смеситель цветов показан на рис. 6.4.

В левом верхнем углу смесителя цветов находятся два уже знакомых нам селектора цвета линии и заливки, которые можно выбирать щелчком мыши и использовать для выбора цветов. Также там присутствуют три дополнительные кнопки, аналогичные рассмотренным чуть выше кнопкам области Colors главного инструментария. Они пригодятся нам, если мы убрали с экрана главный инструментарий.

В нижней части смесителя цветов расположены две большие панели задания цвета. Пользоваться ими очень просто. Для этого сначала выбираем нужный селектор цвета — линии или заливки. После этого щелкаем мышью по нужной точке центральной (квадратной) панели, чтобы выбрать сам цвет, затем щелкаем по нужной точке правой (прямоугольной) панели, чтобы задать его интенсивность. Заданный таким образом цвет появится в выбранном селекторе и, одновременно, в расположенной в нижней части панели большой области предварительного просмотра цвета.

Под центральной (квадратной) панелью задания цвета находится уже знакомое нам поле ввода кода цвета. Так что мы можем быстро выбрать нужный цвет, введя туда его код, или, наоборот, узнать код выбранного с помощью других инструментов цвета.

А что же набор из четырех полей ввода, находящийся левее центральной панели задания цвета? Сейчас мы о нем поговорим.

Но сначала нужно выяснить все о режимах задания цвета. Как мы уже знаем, каждый цвет в компьютере однозначно описывается определенным набором чисел — кодом цвета. Так вот: режим задания цвета как раз и определяет, что собой представляет этот набор чисел и как он интерпретируется компьютером (точнее, программным обеспечением). Flash поддерживает два режима задания цвета, которые мы сейчас рассмотрим.

□ Режим RGB (от английского Red, Green, Blue — красный, зеленый, синий). Числовой набор, описывающий цвет, представляет собой три числа, показывающие содержание в нем красной, зеленой и синей составляющей соответственно. Каждое число может принимать значения от О (данная составляющая отсутствует) до 255 (максимальное значение составляющей). Каждое такое число занимает один байт; таким образом, цвет кодируется тремя байтами. Этот режим выбран по умолчанию.

□ Режим HSB (от английского Hue, Saturation, Brightness — цвет, насыщенность, яркость). Числовой набор, описывающий цвет, представляет собой три числа, задающие его оттенок, насыщенность и яркость соответственно. Каждое число также занимает один байт, и цвет, опять же, кодируется тремя байтами.

Задание нужного цветового режима осуществляется путем выбора соответствующего пункта-переключателя дополнительного меню смесителя. Пункт RGB этого меню соответствует режиму задания цвета RGB, пункт HSB — режиму HSB.

А вот теперь обратимся к набору полей ввода, который уже привлек наше внимание. Собственно задание чисел, описывающих цвет, производится с помощью трех полей ввода этого набора. Для режима RGB это поля ввода R, G и В, где вводятся соответственно доля красной, зеленой и синей составляющей цвета. Для режима HSB это поля ввода Н, S и В — оттенок, насыщенность и яркость.

Ниже этих трех полей ввода находится четвертое — Alpha, задающее уровень прозрачности цвета. Этот уровень задается в процентах: 100 % соответствуют полной непрозрачности цвета (фрагменты изображения, окрашенные этим цветом, полностью непрозрачны), а 0 % — его полной прозрачности (окрашенные таким цветом фрагменты полностью прозрачны, т. е. невидимы).

Если внимательно посмотреть на любое из этих полей ввода, то справа от него можно заметить небольшую кнопку со стрелкой, направленной вниз, — регулятор. При нажатии на эту кнопку на экране появится шкала регулятора с движком; перемещая мышью этот движок, можно задать нужное значение для поля ввода (рис. 6.5). Чтобы убрать шкалу регулятора, достаточно щелкнуть мышью в любом месте окна или на любом другом элементе управления. Такие поля ввода с регулятором часто используются во Flash.

В правом верхнем углу селектора цветов находится небольшой раскрывающийся список. С его помощью задается вид цвета. В данное время нас интересуют только два пункта этого списка. Пункт Solid задает обычный сплошной цвет, а пункт None — отсутствие цвета (т. е., соответственно, линия или заливка рисуемой фигуры будет невидима). Остальные пункты списка мы рассмотрим далее в этой главе.

Если в процессе работы мы создадим какой-либо очень удачный цвет и захотим сохранить его на будущее, мы выберем в дополнительном меню смесителя пункт Add Swatch. Созданный нами цвет будет добавлен в нижнюю строку палитры селектора цвета (см. рис. 6.1), где мы сможем в любой момент его выбрать для использования в рисуемом изображении.

 

Задание цвета линий и заливок

Ну зачем еще раз рассказывать о задании цвета линий и заливок? Что мы еще об этом не знаем? Неужели Flash — настолько мощная программа, что, сколько ни говори об одном и том же, все будет мало?

Увы, мало… Ведь, по сути, мы знакомы только с базовыми средствами задания цвета, позволяющими только задать сплошной цвет или отсутствие всякого цвета. А ведь Flash 8 может сделать цвет линии или заливки градиентным или вообще заполнить ее растровым графическим изображением. Вот как раз об этом мы сейчас и узнаем.

Задание сплошного цвета или отсутствия цвета

Окрасить уже нарисованную линию или заливку в другой цвет проще простого. Выделим нужную линию или заливку и выберем новый цвет в соответствующем селекторе цвета, расположенном в области Colors главного инструментария или в панели Properties (см. рис. 3.34). Сразу же после этого выделенная линия (заливка) будет закрашена выбранным нами цветом. Кроме того, именно этим цветом будут закрашиваться все линии (заливки), которые мы нарисуем потом.

Описанным выше образом можно выбрать для линии или заливки только сплошной цвет, т. е. равномерное ее заполнение однотонным цветом. Именно таким цветом мы рисовали во Flash наши первые фигуры.

Для задания нового сплошного цвета линии и заливки мы также можем воспользоваться смесителем цветов (см. рис. 6.4). Выделим линию (заливку), проверим, выбран ли в раскрывающемся списке вида цвета пункт Solid, и зададим нужный цвет с помощью уже знакомых нам инструментов.

Пункт None раскрывающегося списка вида цвета позволит нам задать отсутствие цвета для выделенной линии (заливки). Это значит, что, если мы выделим линию (заливку) и выберем этот пункт, она (выделенная линия или заливка) безвозвратно пропадет. (Хотя, конечно, проще удалить ее нажатием клавиши .)

Задание сложных цветов 3

С простыми — сплошным и "отсутствующим" — цветами мы разобрались. В самом деле, что там такого сложного — мы уже без малого четыре главы ими пользуемся.

А вот со сложными цветами — градиентным и графическим — дело обстоит, извините за каламбур, сложнее. Для их задания нам придется выполнить значительно больше манипуляций с разными элементами управления смесителя цветов. Но и результат будет не в пример эффектнее.

Итак, просьба любить и жаловать — сложные цвета Flash!

Градиентные цвета

В градиентных цветах цвет плавно меняется от одного значения к другому, например, от белого к черному. Вы можете увидеть пример градиентного цвета, если посмотрите на любое окно любой программы, работающей в операционной системе Microsoft Windows 98 или более новой ее версии — цвет его заголовка "плывет" от синего к светло-голубому.

Прежде чем мы продолжим разговор о градиентных цветах (иногда их для краткости называют градиентами), давайте введем один термин. Назовем цвета, на основании которых создан градиентный цвет, ключевыми. Например, для заголовка окна Windows 98 ключевыми цветами будут синий и светло-голубой.

На заметку

Предыдущие версии Flash позволяли окрашивать в градиентные цвета только заливки, но не линии. Поэтому тогда шла речь о градиентных заливках, а не о цветах.

Flash позволяет создавать два вида градиентных цветов: линейный и радиальный. В линейном градиентном цвете цвет меняется линейно при движении от одного конца фигуры к другому (рис. 6.6). В радиальном градиентном цвете цвет меняется при движении от центра воображаемой окружности, вписанной в фигуру, к ее периферии (рис. 6.7). Можно сказать, что названия этих цветов говорят сами за себя.

Чтобы окрасить выделенную линию или заливку линейным или радиальным градиентным цветом, придется воспользоваться смесителем. Выберем в раскрывающемся списке видов цвета соответственно пункт Linear (линейный градиентный цвет) или Radial (радиальный градиентный цвет) — и линейный, и радиальный градиентные цвета создаются одинаковым образом. После этого смеситель изменит свой вид (рис. 6.8).

Прежде всего, в нижней его части появится линейка для задания ключевых цветов заливки, имеющая вид шкалы, окрашенной в плавно перетекающие друг в друга цвета. Эта линейка схематично представляет наш будущий градиентный цвет и показывает на нем точки, окрашенные ключевыми цветами. Сами же ключевые цвета задают указатели цвета, имеющие вид небольших серых движков. Изначально этих движков всего два — это значит, что наш будущий градиентный цвет содержит только два ключевых цвета, — но может быть и больше.

Но как задать ключевой цвет, связанный с тем или иным указателем цвета? Очень просто. Щелкнем мышью по первому указателю цвета, после чего он станет черным — выбранным. Воспользовавшись селектором цвета, полями

ввода кода цвета или панелями задания цвета, мы задаем первый ключевой цвет. После этого щелчком мыши выбираем второй указатель цвета и задаем ключевой цвет для него. Получившийся градиентный цвет будет показан в расположенной в нижней части смесителя цветов области предварительного просмотра.

Еще мы можем перемещать указатели цветов мышью по линейке, чтобы подобрать нужное расстояние между ключевыми цветами в результирующем градиентном цвете. Так можно создать интересные цветовые эффекты.

Вообще, с градиентными цветами, как и со многими другими возможностями Flash, лучше всего поэкспериментировать. Это позволит вам, что называется, набить руку.

Только что мы создали наш первый градиентный цвет. Он содержит всего два ключевых цвета; такие градиентные цвета используются очень часто. Но наиболее эффектно, конечно, выглядят градиентные цвета, состоящие из нескольких ключевых цветов (многоцветные). Пример заливки, закрашенной трехцветным градиентом, показан на рис. 6.9 — белый цвет плавно перетекает в черный, а потом — снова в белый. Сейчас мы выясним, как создаются такие цвета.

Прежде всего, нам будет нужно добавить на линейку новые указатели цвета. Для этого надо выбрать нужное место на линейке и щелкнуть чуть ниже ее, на уровне остальных указателей. После этого мы сможем задать для вновь созданного указателя цвета ключевой цвет и, если нужно, переместить его.

Для заливки, показанной на рис. 6.9, вид линейки задания цвета будет такой, как показано на рис. 6.10.

Внимание!

Flash поддерживает градиентные цвета, имеющие до восьми ключевых цветов включительно.

Чтобы удалить ненужный указатель цвета, достаточно "захватить" его мышью и "сдернуть" вниз.

Внимание!

Удалить два первоначальных указателя цветов, созданных самим Flash, невозможно.

Раскрывающийся список Overflow позволяет задать, как ключевые цвета располагаются внутри градиента. В качестве пунктов этого списка используются "говорящие" рисунки, так что проблем с ним быть не должно.

Созданный градиентный цвет мы можем сохранить в палитре селекторов цвета Flash. Для этого нужно будет выбрать в дополнительном меню смесителя пункт Add Swatch. Впрочем, мы уже говорили об этом.

Графические цвета

Графический цвет используют для заполнения линии или заливки растрового графического изображения (так называемое изображение-заливка). Часто такие заливки выглядят очень эффектно, но не следует забывать, что растровое изображение может значительно увеличить размер результирующего файла Shockwave/Flash.

Чтобы создать графический цвет, сначала нужно, опять же, вызвать на экран смеситель цветов. Далее выбираем в раскрывающемся списке видов цвета пункт Bitmap. Если мы еще ни разу не создавали графический цвет, Flash предупредительно выведет на экран стандартное диалоговое окно открытия файла Windows. В этом окне мы должны будем выбрать файл растрового изображения, которое будет использовано для создания графического цвета.

После того как мы выберем файл нужного нам изображения и нажмем кнопку открытия, смеситель цветов примет вид, показанный на рис. 6.11.

В нижней части смесителя цветов в этом случае появится список всех выбранных нами растровых изображений (на рис. 6.11 там присутствует только одно). Чтобы применить какое-либо из них в качестве графического цвета, достаточно щелкнуть по нему мышью. Пример заливки, закрашенной графическим цветом, показан на рис. 6.12.

Чтобы добавить в список новое растровое изображение, нужно щелкнуть по кнопке Import. Flash выведет на экран стандартное диалоговое окно открытия файла Windows, в котором мы сможем выбрать нужный файл, после чего будем должны нажать кнопку открытия.

Работа со сложными цветами

Так, создавать сложные цвета мы научились. Теперь настала пора познакомиться со средствами для работы с ними. Мы научимся применять к цветам трансформации, аналогичные трансформациям фрагментов изображения, рассмотренным в главе 4, и создавать фиксированные цвета.

Трансформация сложных цветов

Если при создании градиентной или графической заливки мы случайно щелкнули мышью не в той точке внутри замкнутого контура, и заливка получилась не такой, какая нам нужна, мы всегда можем исправить свою ошибку. В частности, мы можем изменить направление линейного градиента и радиус воображаемой окружности, на основе которой строится радиальный градиент. Подобные операции называются трансформациями цвета.

Для трансформаций цвета служит особый инструмент, называемый Gradient Transform ("Трансформатор градиента"). Хоть он и называется трансформатором именно градиента, но с его помощью можно манипулировать и графическим цветом. В этом разделе, кстати, работу с этим инструментом мы начнем рассматривать на примере именно графического цвета — так будет нагляднее.

Чтобы выбрать инструмент "трансформатор градиента", достаточно щелкнуть по кнопке, находящейся в главном инструментарии:

Или нажать клавишу клавиатуры. Теперь, чтобы настроить цвет какой-либо фигуры, щелкнем ее мышью. Эта фигура будет выделена особым образом (рис. 6.13). Как мы видим, она помещается в уже знакомый нам прямоугольник выделения; на разных его сторонах и в центре находятся маркеры, с помощью которых и выполняется трансформация цвета.

Внимание!

Выделить фигуру, окрашенную сплошным цветом, при выбранном инструменте "трансформатор градиента" невозможно. Трансформации цветов доступны только для сложных цветов.

Что же можно делать с выделенной таким образом фигурой?

Во-первых, мы можем смещать ее цвет. Для этого нужно перетащить мышью круглый белый маркер, находящийся в центре прямоугольника выделения, — маркер смещения. Результат такой операции показан на рис. 6.14 — графический цвет был смещен вправо и вверх.

Во-вторых, можно изменять геометрические размеры образца цвета. Чтобы добиться этого, нужно перетащить мышью один из трех больших квадратных маркеров изменения размера. Маркер на левой стороне прямоугольника выделения меняет ширину образца цвета, а маркер на нижней стороне — его высоту. Если же нам нужно менять одновременно и ширину, и высоту прямоугольника с сохранением его пропорций, воспользуемся маркером, расположенным в его левом нижнем углу. Пример изменения размеров образца графического цвета показан на рис. 6.15 — он был сжат по горизонтали.

На рис. 6.15 хорошо видно, что, если размеры образца графического цвета оказываются меньше размеров заполненной им фигуры, для заполнения ее будет использовано несколько изображений-заливок, составляющих графический цвет. Опытные художники говорят в этом случае, что программа выполняет закраску мозаикой (по-английски: tile).

В-третьих, можно вращать образец графического цвета вокруг центра, обозначенного маркером смещения. Для этого нужно перетаскивать мышью круглый маркер, расположенный в правом верхнем углу прямоугольника выделения, — маркер вращения. Результат, достигаемый при этом, показан на рис. 6.16. В этом случае также может быть использована мозаика, так как по высоте изображение-заливка оказалось уже, чем нужно для того, чтобы заполнить фигуру целиком.

В-четвертых, образец графического цвета можно сдвигать относительно заполняемой им фигуры. Для этого достаточно перетащить мышью один из двух круглых маркеров сдвига, расположенных на правой и верхней стороне прямоугольника выделения. Верхний маркер "отвечает" за сдвиг по горизонтали, правый — соответственно за сдвиг по вертикали. Результат сдвига образца графического цвета показан на рис. 6.17.

Многие из этих действий мы можем выполнять и над линейными градиентными цветами. А именно — смещение, изменение одного из размеров и вращение. На рис. 6.18 показаны все доступные маркеры.

В случае же радиального градиентного цвета все немного по-другому. Посмотрим на рис. 6.19 — и сразу станет понятно, почему. Прежде всего, здесь нужно говорить не о прямоугольнике, а об окружности выделения. Далее, сразу не понятно, какой маркер за что "отвечает". Хорошо заметны только маркер смещения (он всегда находится в центре) и маркер изменения размера, а именно, ширины (он находится справа и имеет вид квадрата — это единственный квадратный маркер из всех изображенных на рисунке). Остальные же маркеры мы сейчас рассмотрим.

Если, начиная от маркера изменения ширины образца, следовать вдоль окружности выделения по часовой стрелке, первым встретившимся нам маркером будет маркер изменения радиуса окружности. (Не путайте его с маркером изменения ширины!) Попробуем переместить оба этих маркера и посмотрим, что получится (рис. 6.20).

Если продолжать наше воображаемое путешествие по окружности, то следующим маркером будет маркер вращения. Как им пользоваться, мы уже знаем.

Фиксированные цвета

Обычно, если мы окрасим заливки в градиентный или графический цвет, Flash делает эти цвета независимыми друг от друга. При этом считается, что каждая заливка на рабочем листе существует сама по себе, вне зависимости от того, какие заливки ее окружают. Это хорошо заметно на рис. 6.21.

Однако иногда бывает нужно создать набор заливок, окрашенных в зависимые или фиксированные цвета. Например, такой, какой показан на рис. 6.22 — там хорошо видно, что один цвет как бы "растягивается" на несколько заливок, в то время как его начало зафиксировано в одной из них.

Чтобы создать фиксированный цвет, следует воспользоваться модификато ром Lock Fill (Фиксация заливки), доступным при выборе инструментов "кисть" или "ведро с краской". Он включается кнопкой-выключателем:

Кнопка эта, как и все другие кнопки модификаторов, находится в области Options главного инструментария.

Процесс создания заливки, окрашенной в фиксированный цвет, состоит из нескольких этапов. Давайте их рассмотрим.

1. Выбираем инструмент "кисть" или "ведро с краской".

2. Включаем или отключаем, при желании, модификаторы этого инструмента, кроме модификатора "фиксация заливки".

3. Щелкаем мышью внутри того контура, в котором хотим создать начало заливки, окрашенной фиксированным цветом.

4. Включаем модификатор "фиксация заливки".

5. Продолжаем щелкать внутри других контуров, на которые мы хотим распространить созданную на предыдущем шаге заливку.

6. Закончив, обязательно отключаем модификатор "фиксация заливки", если не хотим, чтобы созданная нами заливка распространялась и на другие контуры нашего изображения.

Как видим, создать заливку, окрашенную фиксированным цветом, очень просто. А чтобы добавить ей эффектности, мы можем воспользоваться модификатором "трансформатор заливки" и изменить ее.

 

Работа с линиями

Ну все, с цветами и их заданием мы разобрались. И даже успели немного поэкспериментировать с ними.

Теперь самое время рассмотреть средства Flash для работы с линиями контуров. Это, прежде всего, средства для задания стиля линии — это в терминологии Flash ее начертание: сплошная, точечная, штриховая, штрихпунктирная и т. п. Плюс еще один вспомогательный инструмент, который может нам потом пригодиться.

Задание стиля линий

Для задания стиля линий используется панель Properties. Она предоставит соответствующие элементы управления, если мы выделим на рабочем листе какую-либо линию или контур. Эти элементы управления показаны на рис. 6.23.

С помощью большого раскрывающегося списка мы можем выбрать любой из набора предопределенных стилей линии: тонкая, толстая, штриховая, неровная, точечная и др. Левее раскрывающегося списка расположено уже знакомое нам поле ввода с регулятором, задающее толщину линии в типографских пунктах (в этих единицах измеряются размеры шрифтов) от 0 до 200. Ну, и с помощью верхнего селектора цвета мы можем задать цвет линии.

Если нам не хватит предопределенных стилей линии, щелкнем по кнопке Custom, расположенной правее раскрывающегося списка стилей линии. На экране появится диалоговое окно Stroke Style, показанное на рис. 6.24.

В верхнем левом углу этого диалогового окна находится область предварительного просмотра, в которой показывается результат наших экспериментов над линией. Флажок Zoom 4х позволяет включить или отключить четырехкратное увеличение содержимого области просмотра, если мы пожелаем посмотреть, из чего состоит наша линия, в деталях.

В поле ввода со списком Thickness задается толщина линии в типографских пунктах.

Флажок Sharp corners включает или отключает "заострение" концов линий.

В раскрывающемся списке Туре выбирается тип линии:

□ Solid — сплошная линия;

□ Dashed — пунктирная линия;

□ Dotted — точечная линия;

□ Ragged — имитация линии, проведенной вручную;

□ Stipple — линия, состоящая из чернильных пятен;

□ Hatched — линия, состоящая из поперечных черточек.

Если выбран пункт Dashed, то ниже раскрывающего списка Туре появятся два дополнительных поля ввода Dash. В левом вводится длина штрихов, а в правом — расстояние между штрихами. Обе эти величины задаются в типографских пунктах.

Если выбран пункт Dotted, в диалоговом окне появится одно дополнительное поле ввода Dot spacing. В нем вводится расстояние между отдельными точками, измеряемое также в пунктах.

Если выбран пункт Ragged, в диалоговом окне появятся три дополнительных раскрывающихся списка: Pattern, Wave height и Wave length.

В раскрывающемся списке Pattern задается дополнительный тип линии:

□ Solid — непрерывная линия;

□ Simple — линия, состоящая из отрезков одинаковой длины;

□ Random — линия, состоящая из отрезков разной длины;

□ Dotted — линия, состоящая из отрезков одинаковой длины, разделенных точками;

□ Random Dotted — линия, состоящая из отрезков разной длины, разделенных точками;

□ Triple Dotted — линия, состоящая из отрезков одинаковой длины, разделенных двойными точками;

□ Random Triple Dotted — линия, состоящая из отрезков разной длины, разделенных двойными точками.

В раскрывающемся списке Wave height задается "волнистость" линии. Он содержит четыре пункта: Flat, Wavy, Very Wavy и Wild, задающих соответственно полное отсутствие "волнистости", малую, среднюю и сильную "волнистость".

В раскрывающемся списке Wave length задается длина получившихся "волн"; пункты Very Short (очень короткие), Short (короткие), Medium (средней длины) и Long (длинные) меняют длину "волн" от минимальной до максимальной.

Если в раскрывающемся списке Туре выбран пункт Stipple, то в диалоговом окне появятся три дополнительных раскрывающихся списка: Dot size, Dot variation и Density.

В раскрывающемся списке Dot size задается размер пятен — от минимального до максимального — с помощью пунктов Tiny (крошечный), Small (малый), Medium (средний) и Large (большой).

С помощью раскрывающегося списка Dot variation задается разница в размерах точек, составляющих линию. Этот список имеет четыре пункта:

□ One Size — пятна имеют одинаковый размер;

□ Small Variation — размер пятен немного меняется;

□ Varied Sizes — размер пятен меняется сильно;

□ Random Sizes — размер каждого пятна выбирается случайным образом. Практически выбор этого пункта дает тот же эффект, что и выбор пункта Varied Sizes.

В раскрывающемся списке Density устанавливается, насколько близко друг от друга находятся отдельные пятна. Здесь доступны четыре пункта:

□ Very Dense — пятна расположены настолько близко друг к другу, что сливаются в одну линию;

□ Dense — пятна расположены близко друг к другу, сливаясь во множество непрерывных отрезков;

□ Sparse — пятна расположены далеко друг от друга и не сливаются;

□ Very Sparse — пятна расположены очень далеко друг от друга.

В случае же выбора в раскрывающемся списке Туре пункта Hatched в диалоговом окне Line Style появятся целых шесть дополнительных раскрывающихся списков. Рассмотрим их.

Раскрывающийся список Thickness задает толщину штрихов, составляющих линию. Он имеет четыре пункта: Hairline (очень тонкие, "волосяные" штрихи), Thin (тонкие), Medium (средней толщины) и Thick (толстые).

Раскрывающийся список Space позволяет задать расстояние между отдельными штрихами. Он также имеет четыре пункта: Very Close (очень близко друг к другу), Close (близко), Distant (далеко) и Very Distant (очень далеко).

Раскрывающийся список Jiggle задает величину сдвига отдельных штрихов друг относительно друга, иначе говоря, их "разболтанность". Доступны четыре пункта: None (без сдвига), Bounce (небольшой сдвиг), Loose (средний сдвиг) и Wild (полнейшая "разболтанность").

Раскрывающийся список Rotate задает величину поворота отдельных штрихов друг относительно друга. Доступны четыре пункта: None (без поворота),

Slight (небольшие углы поворота), Medium (средний поворот) и Free (угол поворота может достигать 90° — настоящая "свистопляска" штрихов).

Раскрывающийся список Curve позволяет задать степень искривленности штрихов. Он имеет четыре пункта: Straight (никакой искривленности, все штрихи прямые), Slight Curve (небольшая искривленность), Medium Curve (средняя искривленность) и Very Curved (большая искривленность).

Последний раскрывающийся список — Length — позволяет задать, насколько меняется размер соседних штрихов. Здесь имеются четыре пункта: Equal (все штрихи одинаковы), Slight Variation (размеры изменяются в небольших пределах), Medium Variation (размеры меняются в средних пределах) и Random (размер каждого штриха выбирается случайным образом).

Задав нужный стиль линии, нужно нажать кнопку ОК для его применения или Cancel для его отмены. Заданный нами стиль будет тотчас применен к выделенной линии. Более того: все линии, которые мы потом нарисуем, будут иметь этот стиль.

Дополнительные параметры стиля линий

Теперь настало время обратиться к инструментам, появившимся во Flash 8. Эти инструменты также доступны из панели Properties и позволяют задать дополнительные параметры стиля линий.

Начнем мы с флажка Stroke hinting. Если его включить, то все выделенные и вновь рисуемые линии будут выровнены по пикселам рабочего листа. В результате Flash для вывода этих линий не будет использовать сглаживание, что может положительно сказаться на скорости их вывода и качестве изображения. Но если требуется нарисовать что-то очень точно, флажок Stroke hinting лучше отключить.

Кнопка с меню Сар (рис. 6.25) позволяет задать вид концов линий. Меню этой кнопки содержит три пункта: None (нет особого оформления концов линий), Round (скругленные) и Square (Квадратные).

Другая кнопка с меню — Join (рис. 6.26) — позволяет задать вид углов, образуемых смыкающимися линиями. Ее меню также содержит три пункта: Miter (Заостренные углы), Round (Скругленные углы) и Bevel (Затупленные углы).

Если в меню кнопки Join выбран пункт Miter, становится доступно поле ввода Miter. В этом поле вводится величина заостренности углов в типографских пунктах. Если заостренный угол, образуемый смыкающимися линиями, выступает более чем на заданную величину, Flash его обрезает.

Инструмент Ink Bottle ("Чернильница")

Воспользовавшись инструментом "чернильница", мы можем изменить цвет и стиль контура любой фигуры, щелкнув в любом ее месте, даже в области заливки. Чтобы выбрать этот инструмент, нужно щелкнуть по кнопке находящейся в главном инструментарии:

Или нажать клавишу клавиатуры. Курсор мыши примет вид небольшой опрокинутой чернильницы.

После этого задаем нужные цвет и стиль линии с помощью панели Properties и щелкаем в любом месте фигуры, контур которой мы хотим изменить. Проще всего, разумеется, щелкнуть на ее заливке — она все-таки объемнее, чем линии контура, и промахнуться мимо нее невозможно.

Инструмент Eyedropper ("Пипетка")

Иногда бывает необходимо скопировать параметры (цвет и стиль) какой-либо линии или заливки и применить их к другой линии или заливке. Конечно, можно просто выставить их параметры вручную, но, согласитесь, это долго и неудобно. Проще воспользоваться инструментом "пипетка", предусмотренным как раз для такого случая.

Чтобы выбрать инструмент пипетка, щелкнем по кнопке, находящейся в главном инструментарии:

Или нажмем клавишу <1> клавиатуры. Курсор мыши примет вид пипетки.

Выбрав этот инструмент, щелкнем на линии или заливке, параметры которых мы хотим скопировать. Если мы щелкнем на линии, Flash автоматически выберет инструмент "чернильница", если же на заливке — "ведро с краской". В последнем случае также автоматически включится модификатор "фиксация заливки"; если он не нужен, мы можем его отключить.

Теперь, чтобы применить выбранные параметры к другим линиям или заливкам, нам остается только щелкнуть на них. Просто, не правда ли?

 

Работа с палитрами

Когда мы знакомились с селектором цветов, то назвали весь доступный в его окне набор цветов палитрой. Также мы узнали, что в эту палитру можно добавлять новые цвета, созданные с помощью смесителя цветов. После этого мы в любой момент сможем выбрать и применить к выделенному фрагменту изображения созданные нами цвета, воспользовавшись селектором цвета.

Так вот, палитра селектора цвета содержит набор всех цветов, что мы использовали в данном изображении Flash. Каждый документ Flash содержит свою собственную палитру, которая сохраняется в файле документа. Когда мы экспортируем готовое изображение, палитра перекочевывает в результирующий файл Shockwave/Flash. Отсюда следует, что если палитра велика, то результирующий файл, соответственно, увеличивается в размерах. Умело подобрав палитру и, возможно, ограничив количество используемых в изображении цветов, мы сможем уменьшить размер этого файла.

Давайте выясним, каким образом можно управлять палитрой документа Flash.

Вся работа над содержимым палитры осуществляется с помощью панели Color Swatches (рис. 6.27). Чтобы вызвать ее на экран, нужно включить пункт-выключатель Color Swatches меню Window или нажать комбинацию клавиш +.

Эта панель состоит из двух частей. В верхней ее части находится уже знакомая нам палитра сплошных цветов, в нижней — образцы различных видов градиентных и графических цветов, созданных как самим Flash при создании данного документа, так и нами в процессе работы. Мы можем перемещать мышью серую полосу, разделяющую эти части, меняя их размеры.

Выбрать любой цвет в палитре можно, как обычно, щелчком мышью. Выбранный цвет выделяется белым квадратом. Если на рабочем листе у нас была выделена какая-либо линия или заливка, то выбранный в панели Color Swatches цвет будет тотчас к ней применен.

Мы уже знаем, как добавлять в палитру новые цвета. Давайте выясним, что еще можно с ними делать.

Если Flash позволяет нам добавлять в палитру новые цвета, то уж конечно он должен позволить нам и удалять их. Для этого нужно всего лишь выделить ненужный цвет и выбрать пункт Delete Swatch дополнительного меню этой панели.

Кроме того, есть возможность создать копию (продублировать) выбранного цвета. Это пригодится, если мы собираемся создать новый цвет, слегка отличающийся от уже существующего. Выделяем цвет, который мы хотим продублировать, и выбираем пункт Duplicate Swatch дополнительного меню.

Если мы создали, с нашей точки зрения, исключительно удачную палитру и хотим приберечь ее для дальнейшего использования, мы можем сохранить ее в виде файла на диске. Файл этот может иметь расширение clr (так называемые файлы цветовых наборов Flash) или act (цветовые таблицы). Цветовые наборы Flash могут быть использованы только в самом Flash, а цветовые таблицы поддерживаются также другими графическими программами, в частности, Macromedia Fireworks и Adobe Photoshop.

Чтобы сохранить цветовую палитру в файле, мы выберем пункт Save Colors дополнительного меню. На экране появится стандартное диалоговое окно сохранения файла Windows. Задаем имя файла, выбираем его формат и нажимаем кнопку сохранения.

Также мы можем сохранить созданную нами палитру в качестве палитры по умолчанию, которая будет использоваться во всех вновь создаваемых документах Flash. Для этого выберем пункт Save as Default дополнительного меню.

Чтобы загрузить сохраненную ранее палитру из файла, затерев существующую, мы выберем в дополнительном меню пункт Replace Colors. Если же мы хотим добавить в существующую палитру цвета из сохраненной, выберем пункт Add Colors. В обоих этих случаях на экране появится стандартное диалоговое окно открытия файла Windows. Выбираем формат файла, сам файл и нажимаем кнопку открытия.

Мы также можем загружать цвета из графических изображений формата GIF. При этом также возможно как добавить цвета к существующей палитре, так и полностью заменить ее.

Чтобы загрузить палитру по умолчанию, заменив ею существующую, выберем в дополнительном меню пункт Load Default Colors. А чтобы очистить палитру, удалив из нее все цвета, оставив только черный, белый и простейший черно-белый линейный градиент, воспользуемся пунктом Clear Colors.

Пункт Web 216 дополнительного меню позволит нам загрузить так называемую безопасную палитру WWW. Эта палитра включает в себя 216 цветов, которые гарантированно будут отображаться на любом компьютере. Если мы создаем изображения для публикации в Интернете, то будет лучше всего использовать именно эту палитру.

Последний пункт дополнительного меню Sort by Color позволит нам отсортировать цвета в палитре по оттенку. К сожалению, вернуть обычный порядок сортировки цветов после этого невозможно.

 

Что дальше?

Вот мы и научились работать с цветами. Разговор об этом вышел долгим и обстоятельным — сами посудите, ведь любой художник, "бумажный" или компьютерный, фактически всегда работает с цветом. Цвет — основа живописи, из мазков различных цветов состоят бессмертные шедевры…

Ну да ладно, бог с ними, с шедеврами! Нас-то что дальше ждет?

А ждет нас работа с текстом. Мы научимся создавать текстовые блоки и управлять ими. А также выясним все о том, как Flash поддерживает различные шрифты.

 

Глава 7

Работа с текстом

 

Текст? Но зачем графическому пакету поддерживать работу с текстом?

Во-первых, часто бывает так, что лучше сказать пару слов, чем рисовать мегабайты хитроумной графики. Во-вторых, текст зачастую является составной частью изображения, как например заголовок сайта или название художественного фильма. В-третьих, без работы с текстом не обойтись при создании Web-сайтов, полностью реализованных на Flash, ведь главное на сайте — это текст, не так ли?

Вот поэтому Flash 8 и поддерживает работу с текстом. Причем текст этот может быть набран разными шрифтами, с различным типом выравнивания; можно также задать абзацные отступы и красную строку. Более того, Flash позволяет применить к тексту различные трансформации, изменить его цвет и даже анимировать. (Тут мы немного забежали вперед — анимация будет описана в части III этой книги.) Вообще, во Flash с текстом (как и с графикой) можно делать все, что угодно, и даже чуть больше.

В этой главе мы поговорим о возможностях, предоставляемых Flash для работы с текстом.

 

Текстовые блоки и работа с ними

 

Любой текст, который мы поместим на рабочий лист, будет заключен в так называемый текстовый блок. Это особый примитив, мало чем отличающийся от уже знакомых нам "графических" примитивов — линий и заливок. О работе с текстовыми блоками мы сейчас и поговорим.

 

Работа с текстовыми блоками

Создание текстовых блоков выполняется с помощью особого инструмента Text (Текст). Чтобы выбрать его, нужно щелкнуть по кнопке главного инструментария:

Или нажать на клавиатуре клавишу <Т>. После этого курсор мыши примет вид небольшого крестика с буквой А.

Как только мы выберем инструмент "текст", мы можем приступить к созданию текстовых блоков. Сделать это можно двумя способами; при этом мы получим текстовые блоки двух видов с весьма сильно различающимися свойствами.

Первый способ создания текстового блока — самый простой. Мы просто щелкаем в той точке рабочего листа, где должен находиться левый верхний угол создаваемого текстового блока. После этого там появится небольшой синий прямоугольник с мигающим текстовым курсором. Этот прямоугольник — и есть только что созданный нами текстовый блок, пока еще не содержащий никакого текста.

Текст в текстовый блок вводится так же, как в обычном текстовом редакторе. Для переноса текста на новую строку при наборе текста используется клавиша . Также мы можем редактировать текст, пользуясь клавишами-стрелками, , и др.

Пользуясь мышью или стандартными клавиатурными комбинациями, мы можем выделять фрагменты текста и работать с буфером обмена Windows. В частности, мы можем выделять слова двойным щелчком мыши и выделять все содержимое текстового блока нажатием клавиатурной комбинации +, перемещать и копировать его в буфер обмена Windows.

Также мы можем перенести текст из другого Windows-приложения, например, Microsoft Word. В случае достаточно большого текста это может оказаться более удобным, чем набор его прямо во Flash, так как Word содержит, кроме всего прочего, систему проверки орфографии, которая, несмотря на все ее недостатки, часто бывает полезна.

Введем текст в текстовый блок и посмотрим на него. То, что мы увидим, показано на рис. 7.1.

Прежде всего, мы увидим сам введенный нами текст, ставший содержимым этого текстового блока. Также хорошо заметен черный прямоугольник выделения с маленькими черными маркерами изменения размера. И — еще один, незнакомый нам маркер, имеющий вид окружности и находящийся в правом верхнем углу прямоугольника выделения. Об этом маркере мы поговорим потом.

Еще мы можем заметить текстовый курсор — это значит, что прямо сейчас можно добавить в текстовый блок новый текст или исправить уже введенный. Говорят, что текстовый блок в этом случае открыт.

Давайте все-таки попробуем добавить в текстовый блок еще несколько символов. При этом можно заметить, что текстовый блок растягивается в ширину, чтобы вместить все вводимые символы. Высота же текстового блока остается постоянной, а именно, такой, чтобы вместить ровно одну строку текста. Такой текстовый блок называется блоком с фиксированной высотой и идеально подходит для создания коротких надписей.

Теперь давайте либо выберем в главном инструментарии другой инструмент (например, "стрелку"), либо нажмем клавишу . Текстовый блок после этого закроется, и мы уже не сможем работать с помещенным в него текстом. Но при этом он останется выделенным, и мы можем, например, переместить его на другое место мышью.

Закрытый текстовый блок, выделенный с помощью "стрелки", отображается на рабочем листе так, как показано на рис. 7.2. В этом случае он будет окружен синим прямоугольником выделения с маленькими синими маркерами изменения размеров. Невыделенный же текстовый блок отображается Flash просто как текст — его содержимое без всяких прямоугольников выделения.

Подробно о работе с текстовыми блоками мы поговорим чуть позже. А пока что давайте выясним, что же это за второй способ создания текстовых блоков.

Второй способ создания текстового блока аналогичен рисованию прямоугольника или эллипса. Помещаем курсор мыши в том месте, где будет располагаться левый верхний угол текстового блока, и нажимаем левую кнопку мыши. Затем, не отпуская эту кнопку, протащим мышь в то место, где будет находиться правый нижний угол текстового блока. Пока мы буксируем мышь, Flash будет отображать синий "резиновый" прямоугольник, так что всегда можно следить за тем, что же у нас получается. Переместив курсор мыши в нужную точку, отпустим ее левую кнопку. Текстовый блок будет тотчас нарисован, и внутри него появится текстовый курсор.

Созданный таким образом текстовый блок (рис. 7.3) имеет неизменную ширину, но будет растягиваться по высоте, чтобы вместить в себя весь набранный нами текст (текстовый блок с фиксированной шириной). Разумеется, Flash при этом будет выполнять автоматический перенос строк в случае, если текст не умещается в текстовом блоке по ширине.

На рис. 7.3 видно, что текстовый блок с фиксированной шириной отличается от его собрата с фиксированной высотой формой маркера, находящегося в правом верхнем углу прямоугольника выделения. Этот маркер имеет форму полого квадратика. В закрытом же виде такой текстовый блок отображается так же, как показано на рис. 7.2.

Текстовые блоки с фиксированной шириной хорошо подходят для помещения в изображение Flash больших фрагментов текста.

Итак, что мы можем делать с текстовыми блоками? Мы можем выделять их щелчком мыши; правда, при этом придется щелкать на одном из символов текста. Если текст набран очень мелким шрифтом, лучше всего применять выделение перетаскиванием. Выделенный текстовый блок можно переместить и удалить; делается это так же, как в случае уже знакомых нам линий и заливок.

Мы можем править текст, помещенный в текстовый блок, если откроем его. Чтобы открыть текстовый блок, нужно:

□ если в данный момент выбран инструмент "стрелка", дважды щелкнуть на нужном текстовом блоке, либо щелкнуть один раз и выбрать пункт Edit Selected меню Edit;

□ если выбран инструмент "текст", щелкнуть на текстовом блоке один раз.

Как только мы выберем любой другой инструмент или нажмем клавишу , все сделанные нами правки будут применены, а текстовый блок — закрыт. Закрытый текстовый блок после этого останется выделенным.

А еще мы можем преобразовать текстовый блок с фиксированной высотой в текстовый блок с фиксированной шириной. Для этого достаточно изменить его ширину с помощью любого из соответствующих маркеров. Высоту текстового блока мы изменить не сможем — Flash сам будет управлять ей.

Также есть возможность превратить текстовый блок с фиксированной шириной в текстовый блок с фиксированной высотой. Для этого достаточно открыть его и дважды щелкнуть маркер, находящийся в правом верхнем углу. После этого Flash сам установит размеры текстового блока такими, чтобы "охватить" весь содержащийся в нем текст.

 

Форматирование текста

Но возможности Flash отнюдь не исчерпываются набором простого текста, разбитого на абзацы с помощью клавиши . Текст может содержать фрагменты, набранные разными шрифтами, с разным выравниванием и отступами. Давайте же выясним, как средствами Flash можно оформить (отформатировать) набранный нами текст.

Форматирование отдельных символов

Форматирование отдельных символов текста во Flash, а именно, задание шрифта и цвета, выполняется с помощью панели Properties. Ее вид при выделенном фрагменте текста в текстовом блоке показан на рис. 7.4.

Элементы управления, расположенные в нижнем левом углу этой панели, нам уже знакомы по главе 4. Они позволяют задать размеры и местоположение выбранного фрагмента изображения. Остальные же элементы управления "отвечают" исключительно за текст.

Здесь нужно сказать еще вот что. Если выделенный текстовый блок закрыт, все заданные в панели Properties параметры форматирования применяются ко всему тексту, помещенному в текстовый блок. Если же текстовый блок открыт, то эти параметры будут применены к вновь набираемому тексту. Если же мы выделим какой-либо фрагмент текста в открытом текстовом блоке, то заданные нами параметры будут применены к выделенному тексту.

Но вернемся к панели Properties.

Раскрывающийся список выбора шрифта, позволяющий задать шрифт текста, заметен сразу (слева от него стоит большая буква А). В этом списке приведены все шрифты, установленные в системе. Во время просмотра раскрытого списка в небольшом окошке для нашего удобства выводится пример текста, набранного этим шрифтом.

Правее списка выбора шрифта находится поле ввода с регулятором, с помощью которого задается размер (или, как говорят полиграфисты, кегль) шрифта в типографских пунктах. Еще правее имеются: кнопка селектора цвета, задающего цвет шрифта, и две кнопки, задающие его начертание, — В (полужирное) и I (курсивное).

Для выбора шрифта мы можем также воспользоваться подменю Font меню Text — его многочисленные пункты представляют все установленные в системе шрифты. Аналогично выбрать размер шрифта можно, воспользовавшись подменю Size меню Text — там перечислены наиболее употребительные размеры шрифтов. Такой способ выручает, если панели Properties нет на экране.

В том же меню Text находится подменю Style, позволяющее задать:

□ полужирное начертание шрифта (пункт-переключатель Bold и комбинация клавиш ++);

□ курсивное начертание шрифта (пункт-переключатель Italic и комбинация клавиш ++);

□ обычный вид шрифта (пункт-переключатель Plain и комбинация клавиш ++

).

Прямо под списком выбора шрифта находится поле ввода с регулятором, с помощью которого задается так называемый трекинг — параметр, регулирующий пространство между символами. Это иногда бывает очень полезно — например, для выделения заголовков "разрядкой" текста.

Значение трекинга вводится в пунктах, причем можно вводить как положительные, так и отрицательные значения. В первом случае символы текста раздвигаются, а во втором — сближаются. При этом главное — не переборщить с трекингом, иначе символы или "разбредутся" слишком далеко друг от друга, перестав быть единым текстом, или сольются друг с другом, и текст станет совершенно нечитаемым.

Задавать значения трекинга также можно, использовав подменю Letter Spacing меню Text. Пункт Increase (и комбинация клавиш ++ +<стрелка вправо>) увеличивает трекинг, а пункт Decrease (и комбинация клавиш <СМ>+<8ЫЙ>+<стрелка влево>) — уменьшает. Пункт Reset (и комбинация клавиш < Ctrl>+< S hift>+< стрел ка вверх>) позволяет вернуть значение трекинга по умолчанию.

Правее поля задания трекинга расположен раскрывающийся список, задающий положение символов относительно базовой линии текста — воображаемой линейки, по которой "пишется" текст. В списке доступны три пункта:

□ Normal — обычное положение текста, когда он "лежит" на базовой линии;

□ Superscript — верхний индекс;

□ Subscript — нижний индекс.

Мы также можем воспользоваться пунктами — выключателями Superscript и Subscript подменю Style меню Text. Первый превращает текст в верхний индекс, второй — в нижний. Если оба этих пункта отключены, текст имеет обычное положение на базовой линии.

В правом нижнем углу панели Properties расположен флажок Auto Kern. Он включает или отключает кернинг — специальное управление пространством между символами. Дело в том, что некоторые пары символов требуют задания различных значений промежутка между ними — например, промежуток между А и W должен быть меньше, чем между А и Н. Именно этим и занимается кернинг; благодаря ему текст выглядит более ровным.

Форматирование абзацев

Форматирование целых текстовых абзацев, а именно, задание выравнивания и отступов, выполняется с помощью все той же панели Properties (см. рис. 7.5). Для этого используются другие, не рассмотренные еще нами элементы управления.

Заданные параметры форматирования применяются к тому абзацу, на котором стоит текстовый курсор (естественно, текстовый блок должен быть открыт). Если текстовый блок закрыт, эти параметры будут применены сразу ко всем абзацам содержащегося в нем текста.

Выравнивание текста в абзаце задается с помощью находящегося в верхнем правом углу панели Properties набора из четырех кнопок-переключателей.

Для этого также можно воспользоваться пунктами-переключателями подменю Align меню Text.

Перечислим все кнопки этого набора в порядке слева направо:

□ первая кнопка задает выравнивание по левому краю (пункт Align Left подменю Align меню Text и комбинация клавиш ++);

□ вторая — выравнивание по центру (пункт Align Center и комбинация клавиш ++);

□ третья — выравнивание по правому краю (пункт Align Right и комбинация клавиш ++);

□ четвертая — полное выравнивание (пункт Justify и комбинация клавиш ++).

Правее этого набора кнопок находится кнопка Edit format options:

Если ее нажать, на экране появится небольшое диалоговое окно Format Options (рис. 7.5), с помощью которого мы можем задать другие параметры абзаца.

Поле ввода Indent задает значение отступа красной строки, т. е. расстояние между левой границей текстового блока и первым символом первой строки абзаца. Это значение задается в пикселах.

Поле ввода Line spacing задает расстояние между строками по вертикали в типографских пунктах.

Поля ввода Left margin и Right margin задают отступ, соответственно слева и справа, текста от границ текстового блока. Эти значения задаются в пикселах.

Чтобы применить заданные параметры, нужно нажать кнопку ОК. Кнопка Cancel позволит нам от них отказаться.

 

Поддержка шрифтов во Flash

А теперь самое время поговорить о различных шрифтах и их поддержке во Flash.

Из главы 1 мы помним, что все графические изображения можно разделить на векторные и растровые. Аналогично этому, на векторные и растровые можно разделить и все компьютерные шрифты. В растровых шрифтах символы хранятся в виде массива точек, а в векторных — в виде наборов параметров кривых. В этом смысле каждый шрифт можно считать набором изображений, соответственно векторных или растровых, представляющих его символы.

В операционных системах семейства Windows для вывода текста применяются и векторные, и растровые шрифты. В растровом виде хранятся почти все системные шрифты, которыми набраны заголовки окон, пункты меню и надписи к элементам управления. В частности, растровыми являются шрифты MS Sans Serif и Fixedsys. Векторными шрифтами обычно набираются текстовые документы; к ним относятся популярные шрифты Arial, Courier, Times New Roman, Tahoma и Verdana.

Векторные шрифты, используемые в системах Windows, хранятся в формате TrueType , разработанном фирмой Apple. Из других форматов хранения векторных шрифтов можно выделить разработанный фирмой Adobe формат Туре 1 , который применяют, в основном, в профессиональных программах верстки.

Здесь нужно сказать, что для набора текстов Flash позволяет использовать только векторные шрифты, т. е. шрифты форматов TrueType и Adobe Туре 1. Любые растровые шрифты игнорируются и не выводятся в списке выбора шрифта панели Properties. Это первое, что мы должны запомнить.

А теперь представим себе такую довольно часто встречающуюся ситуацию. Мы создали изображение Flash и использовали в нем хитроумный шрифт, который не поставляется стандартно с Windows (где мы его взяли — другой вопрос). Далее мы экспортировали это изображение в формат Shockwave/Flash и каким-либо образом распространили. Это изображение получил пользователь и пытается его просмотреть. Так сможет ли он это сделать, если на его компьютере использованный нами шрифт не установлен?

Сможет. Дело в том, что когда мы экспортируем готовое изображение в формате Shockwave/Flash, Flash сохраняет в результирующем файле описания всех использованных в изображении шрифтов. Этот процесс называется внедрением шрифтов. При просмотре нашего изображения проигрыватель Flash извлекает эти описания и с их помощью отображает текст в том виде, как он должен выглядеть.

Самое интересное, что при внедрении шрифтов Flash старается по мере сил навести экономию. Он внедряет в результирующий файл Shockwave/Flash не все символы шрифтов, а только те, что реально были использованы в тексте. Так что если мы добавим в свое изображение единственный текстовый блок, содержащий коротенькую надпись, полученный после экспорта файл Shockwave/Flash увеличится в размерах ненамного.

Внимание!

Сказанное выше относится только к файлам Shockwave/Flash. Если же вы передадите кому-то другому исходный документ Flash и у этого "другого" не окажется нужного шрифта, текст будет выведен в искаженном виде, так как Flash будет вынужден использовать один из тех шрифтов, что есть на компьютере получателя. Поэтому позаботьтесь о том, чтобы у вашего коллеги оказались в наличии все нужные для работы шрифты. Есть, правда, еще один способ решить проблему недостающих шрифтов — подстановка, но о ней мы поговорим в конце этой главы.

Всем хорош такой подход, кроме одного — если мы использовали в своем изображении много разных и, вдобавок, сложных шрифтов, результирующий файл Shockwave/Flash может оказаться очень большим. Как следствие, те, кто загружает наши творения из Интернета, могут, потеряв терпение, просто прервать загрузку. Что же делать?

Из этой ситуации есть четыре выхода.

Выход первый, спартанский. Нужно умерить аппетиты. Иначе говоря, использовать в создаваемых изображениях небольшой набор относительно простых шрифтов. В результате файл Shockwave/Flash хоть и "раздуется", но ненамного, и пользователи останутся довольны.

Выход второй, компромиссный. Мы можем в некоторых случаях использовать так называемые шрифты-псевдонимы Flash. (В терминологии Flash они названы device fonts, т. е. шрифты устройства.) Это шрифты _sans, _serif и _typewriter. Каждый из них представляет целую группу родственных шрифтов, а именно:

□ _sans обозначает все шрифты без засечек (серифов), например, Arial или Helvetica;

□ _serif обозначает шрифты с засечками, например, Times New Roman;

□ _typewriter обозначает моноширинные шрифты, наподобие Courier или Lucida Console.

Так вот, шрифты-псевдонимы не внедряются в результирующий файл Shockwave/Flash. Вместо этого проигрыватель Flash будет искать подходящий шрифт из набора, установленного на компьютере клиента. Возможно, текст в этом случае отобразится не совсем так, как мы задумывали, зато результирующий файл Shockwave/Flash получится меньшего размера, так как ничего лишнего в него не добавится.

Разработчики Flash настоятельно рекомендуют для набора обычного (информативного, а не декоративного) текста использовать именно шрифты-псевдонимы. Более того, утверждается, что на малых кеглях (10 пунктов и менее) текст, набранный шрифтами-псевдонимами, выглядит лучше, чем набранный обычными шрифтами. К тому же, шрифты-псевдонимы не внедряются в результирующий файл Shockwave/Flash, что само по себе является большим достоинством.

Чтобы задать для текста какой-либо шрифт-псевдоним, нужно выбрать соответствующий пункт (_sans, serif или _typewriter) в раскрывающемся списке выбора шрифта панели Properties. Эти пункты расположены в самом верху данного списка.

Выход третий, для уверенных в себе и в потребителях своей графики. Можно указать, чтобы Flash не внедрял в результирующий файл Shockwave/Flash шрифт, которым набран текст в каком-либо текстовом блоке. Разумеется, это следует применять для тех шрифтов, которые есть у всех (это шрифты Anal, Courier и Times New Roman). В противном случае проигрыватель Flash будет вынужден подобрать похожий шрифт из установленных у пользователя, и текст, скорее всего, исказится.

Выход четвертый, что называется, для "экстремалов". Мы можем указать Flash преобразовать при экспорте заданный текстовый блок в растровое изображение. Насколько при этом уменьшится в размерах результирующий файл Shockwave/Flash, неизвестно, но в некоторых случаях стоит попробовать.

 

Параметры текстового блока

Задавать параметры можно не только для отдельных символов или отдельного абзаца текста, но и для всего текстового блока. Этих параметров немного, но они весьма важны.

Начнем с кнопки-выключателя, расположенной в панели Properties:

Если она включена, пользователь может выделять и копировать в буфер обмена текст, помещенный в выделенный текстовый блок. По умолчанию же эта кнопка отключена, и текст в текстовом блоке не может быть выделен. (Это, кстати, полезно, если мы желаем защитить какие-либо тексты от несанкционированного копирования.)

А раскрывающийся список, задающий метод отображения шрифта, которым набран текст в текстовом блоке, требует особого разговора. Этот список находится в центре панели Properties, правее раскрывающегося списка, задающего положение текста относительно базовой линии. В нем доступно пять пунктов, которые мы сейчас рассмотрим.

Пункт Use device fonts позволяет указать Flash не внедрять шрифт, которым набран текст в выделенном текстовом блоке, в результирующий файл Shockwave/Flash. Мы уже говорили об этом в предыдущем разделе, и не будем сейчас повторяться.

Пункт Bitmap text (no anti-alias) при выборе предписывает преобразовать при экспорте изображения в формат Shockwave/Flash преобразовать выделенный текстовый блок в растровое изображение. Об этом также говорилось в предыдущем разделе.

Пункт Anti-alias for animation задает особый метод сглаживания шрифта для улучшения качества анимации. При этом проигрыватель Flash может проигнорировать выравнивание абзацев и кернинг шрифта. Также текст, набранный мелким шрифтом, в текстовом блоке, для которого был выбран этот пункт, может плохо читаться.

Пункт Anti-alias for readability, выбранный по умолчанию, задает метод сглаживания шрифта для улучшения читаемости текста. При этом проигрыватель Flash будет выводить такой текст с наилучшим качеством, даже если текст этот набран мелким шрифтом.

Пункт Custom anti-alias предназначен для тех, кто желает сам управлять сглаживанием шрифта. После его выбора на экране появится диалоговое окно Custom Anti-Aliasing (рис. 7.6), в котором задаются параметры сглаживания шрифта.

Поле ввода с регулятором Thickness служит для задания толщины сглаженных участков шрифтов. Большее значение этого параметра заставляет символы выглядеть более "толстыми".

Поле ввода с регулятором Sharpness задает величину плавности перехода между границами символов и фоном.

Задав нужные параметры сглаживания шрифта, надо нажать кнопку ОК. Кнопка Cancel позволяет отказаться от задания этих параметров.

На заметку

Если мы выберем для текста в данном текстовом блоке шрифт-псевдоним, раскрывающийся список задания метода отображения шрифта будет недоступен. В этом случае в нем будет выбран пункт Use device fonts.

 

Трансформация текстовых блоков

Мы можем применять к текстовым блокам те же трансформации, что и к другим фрагментам изображения. Делается это точно так же — выделяем нужный текстовый блок, выбираем в главном инструментарии инструмент "трансформатор" и перемещаем соответствующий маркер. Таким образом, в частности, мы можем повернуть текстовый блок на 90°, создав таким образом вертикальный текстовый блок.

Внимание!

Для создания вертикальных текстовых блоков не следует пользоваться кнопкой с меню (самая правая в верхнем ряду на рис. 7.4):

Эта кнопка предназначена для создания текстовых блоков, содержащих тексты на азиатских иероглифических языках, и результат их использования может быть совсем не тем, какой вы ожидаете.

А еще Flash предоставляет возможность работы с символами текста как с обычной графикой. Символы текста после операции разбиения, аналогичной разбиению группы, преобразуются в набор обычных контуров и заливок. Теперь мы можем менять форму отдельных символов текста, как если бы это были фрагменты обычной графики, нарисованные с помощью обычных инструментов рисования. В общем, творить с текстом все, что пожелаем.

Чтобы выполнить разбиение, нужно выделить требуемый текстовый блок и дважды выбрать пункт Break Apart меню Modify, в контекстном меню текстового блока или просто нажать комбинацию клавиш +. Почему дважды? Да потому, что после первого разбиения текстовый блок "распадется" на множество маленьких текстовых блоков, содержащих по одному символу текста, и только после второго каждый символ превратится в набор примитивов. Все получившиеся примитивы останутся выделенными.

Мы можем применять для преобразованного в графику текста любые знакомые нам приемы изменения формы и цвета. В частности, можно расположить символы такого текста по окружности или кривой (похоже, это единственный доступный во Flash прием сделать фигурный заголовок). Также мы можем создавать новые, причудливые шрифты или просто слегка изменять форму отдельных символов. На рис. 7.7 как раз изображен результат изменения формы обычной латинской буквы U с помощью инструмента "стрелка".

К несчастью, мы не сможем преобразовать набор полученных после разбиения текстового блока фрагментов обратно в текстовый блок. А это значит, что подобный текст не подлежит редактированию. Поэтому перед разбиением текста следует убедиться, что он не содержит ошибок.

Кстати, разбиение — это еще один, уже пятый по счету способ уменьшить размер файла Shockwave/Flash, содержащий изображение с текстовыми блоками. Ведь в этом случае внедрение шрифтов выполняться не будет. В самом деле, с точки зрения Flash, такое изображение вообще не содержит текста — только обычную графику.

 

Создание гиперссылок

Flash позволяет превратить фрагмент текста, находящегося в текстовом блоке, в гиперссылку. Делается это очень просто.

Прежде всего, выделим нужный фрагмент текста. Далее введем в большое поле ввода, находящееся вдоль нижнего края панели Properties (см. рис. 7.4), нужный нам интернет-адрес. Пример гиперссылки, созданной таким образом, показан на рис. 7.8.

Правее поля ввода интернет-адреса находится раскрывающийся список Target. С его помощью задается так называемая цель гиперссылки, т. е. то, будет ли Web-страница, на которую указывает гиперссылка, загружаться в то же самое или в другое окно Web-обозревателя. Список содержит четыре пункта:

□ blank — Web-страница загрузится в отдельное окно Web-обозревателя;

□ _parent — Web-страница загрузится в родительский набор фреймов (фрейм — своего рода "окошко" в окне Web-обозревателя, в которое может быть загружено независимое содержимое; отдельные фреймы объединяются в наборы фреймов)',

□ _self — Web-страница загрузится в текущий фрейм (значение по умолчанию);

□ top — Web-страница загрузится в текущее окно Web-обозревателя, заменив собой весь набор фреймов, если он есть.

Кроме того, мы сами можем ввести в этот список другое значение. Таким значением может быть имя фрейма, в который должна загрузиться Web-страница.

 

Специальные текстовые блоки

А теперь давайте поговорим о так называемых специальных текстовых блоках, т. е. о текстовых блоках, выполняющих особые функции. В данный момент они нам, правда, не пригодятся, зато понадобятся тогда, когда мы начнем писать программы в среде Flash (программированию посвящена часть IV данной книги).

Поля ввода

Поле ввода — это своего рода небольшой текстовый редактор, помещенный в окно Windows-программы и предназначенный для ввода одно- или многострочного текста. При этом Windows сама управляет текстовым вводом: мы просто набираем символы, пользуемся клавишами-стрелками, клавишами , , выделяем текст, используем буфер обмена, как в любом "большом" текстовом редакторе. Программисты фирмы Microsoft много поработали над тем, чтобы сделать стандартные поля ввода Windows по-настоящему удобными.

Чтобы создать во Flash поле ввода, сначала нужно поместить на рабочий лист обычный текстовый блок и выделить его инструментом "стрелка" (при этом в текстовый блок необязательно вводить какой-либо текст). Далее находим в верхнем левом углу панели Properties небольшой раскрывающийся список (см. рис. 7.4) и выбираем в нем пункт Input Text. Если после этого мы откроем полученный текстовый блок, увидим то, что показано на рис. 7.9.

Итак, что мы видим? А видим мы полный набор маркеров изменения размера (они сохранятся и в том случае, если мы закроем поле ввода). Это значит, что мы можем менять также и вертикальный размер полученного поля ввода. А прямоугольный маркер из правого верхнего угла переместится в правый нижний — это знак того, что перед нами именно поле ввода.

Вид панели Properties после выделения поля ввода представлен на рис. 7.10. Как видим, там появились дополнительные элементы управления, которые нужно рассмотреть.

Прежде всего, прямо под списком, которым мы только что пользовались, появилось поле, в котором нам нужно будет указать уникальное имя, идентифицирующее созданное нами поле ввода Flash. Каждое поле ввода, созданное на рабочем листе, должно иметь уникальное имя. Это имя может содержать буквы русского и латинского алфавита, цифры и знаки подчеркивания, причем оно обязательно должно начинаться либо с буквы, либо со знака подчеркивания.

Ниже поля ввода задания трекинга находится другой раскрывающийся список. С его помощью выбирается вид поля ввода. В этом списке доступны четыре пункта:

□ Single Line — обычное однострочное поле ввода;

□ Multiline — многострочное поле ввода (иначе говоря — область редактирования);

□ Multiline no wrap — многострочное поле ввода, в котором не будет выполняться автоматический перевод строки (хотя пользователь все же может перенести строку вручную, нажав клавишу );

□ Password — поле ввода пароля. Аналогично обычному однострочному полю ввода, но скрывает введенный в него текст, отображая вместо него строку из "звездочек".

Правее этого списка находится набор их трех кнопок-выключателей. Первая из них нам уже знакома — она позволяет пользователю выделять находящийся в поле ввода текст:

Как видно на рис. 7.10, эта кнопка нажата и недоступна, т. е. не может быть отключена.

Вторая кнопка-выключатель, будучи включенной, предписывает Flash обрабатывать все встретившиеся в тексте теги HTML:

Так, если мы заключим фрагмент текста в тег <В>.. , Flash выделит его полужирным шрифтом. Если же эта кнопка выключена, Flash выводит текст "как есть", вместе с любыми тегами HTML, которые там заданы.

Вообще говоря, эта возможность полезна, только если мы задаем содержимое поля ввода из сценария ActionScript, так что описана она здесь "с опережением". Подробную информацию о поддержке тегов HTML в полях ввода и динамических текстовых блоках можно найти в интерактивной справке Flash.

Третья кнопка-выключатель во включенном состоянии заставляет Flash показывать рамку вокруг поля ввода, отчего последнее напоминает стандартное поле ввода Windows:

Если же она отключена, поле ввода имеет "плоский" вид.

Если созданное нами поле ввода должно являться частью оригинального интерфейса, лучше всего оставить эту кнопку отключенной. Если же мы желаем сделать поле ввода более привычным для пользователя или более заметным, можно включить эту кнопку.

Правее этих трех кнопок расположено поле ввода Var. В этом поле задается имя переменной ActionScript, в которую будет помещен введенный в созданное нами поле ввода текст. Переменная — это своего рода "ячейка камеры хранения" данных, созданная в памяти компьютера и имеющая уникальное имя, по которому ее можно однозначно определить. Мы можем обратиться к этой переменной по имени, извлечь из нее данные или поместить в нее новое значение. Во всех подробностях переменные будут рассмотрены в главе 19.

В поле ввода Maximum characters задается максимальное количество символов, которое сможет вводить в него пользователь. Если мы не хотим ограничивать это количество, то введем туда значение 0 (таково, кстати, значение поля по умолчанию).

А теперь давайте вернемся к теме внедрения шрифтов, но уже применительно к полям ввода (точнее, ко всем специальным текстовым блокам). Дело в том, что в этом случае никакое внедрение не выполняется — Flash сохраняет только имена использованных шрифтов. При воспроизведении готового изображения проигрыватель Flash сначала ищет эти шрифты на компьютере клиента и, если они есть, использует их для вывода текста. Если же подходящий шрифт не будет найден, то проигрыватель использует ближайший к искомому подобный шрифт, отчего изображение может исказиться. А это не всегда приемлемо.

Но мы все-таки можем заставить Flash внедрить в результирующий файл Shockwave/Flash описания избранных символов заданного для данного поля ввода шрифта. Сейчас мы увидим, как это делается.

Выбор символов шрифта для внедрения выполняется в диалоговом окне Character Embedding (рис. 7.11). Это окно появится на экране после нажатия кнопки Embed панели Properties (см. рис. 7.10).

Большой список этого окна позволит нам выбрать целые группы символов, которые должны быть внедрены в результирующий файл Shockwave/Flash. Он содержит довольно много пунктов; те же из них, что гарантированно нам пригодятся, приведены ниже:

□ All (39477 glyphs) — все символы данного шрифта в количестве 39 477. Этот пункт приведен только для ознакомления; в реальности вряд ли кто-то будет им пользоваться;

□ Uppercase [A-Z] (27 glyphs) — большие латинские буквы (27 символов);

□ Lowercase [a-z] (27 glyphs) — малые латинские буквы (также 27 символов);

□ Numerals [0–9] (11 glyphs) — арабские цифры (11 символов);

□Punctuation [!@#$%…] (52 glyphs) — знаки препинания и специальные обозначения (52 символа);

□ Basic Latin (95 glyphs) — буквы большинства европейских языков (95 символов);

□ Cyrillic (499 glyphs) — буквы кириллицы (499 символов). Пожалуй, самый важный пункт в нашем случае.

Как правило, в этом списке выделяются сразу несколько пунктов (правильно — кому нужны буквы без цифр!). Для этого сначала щелкнем мышью на первом пункте из набора тех, которые хотим выделить, потом нажмем клавишу и, удерживая ее, щелкнем на остальных пунктах, пока не выделим все. После этого можно отпустить клавишу .

Под списком шрифтов находится поле ввода Include these characters. В нем мы можем вручную ввести символы, которые должны быть внедрены. Такой способ полезен, если мы хотим внедрить только определенные символы шрифта. А если мы нажмем кнопку Auto Fill, Flash сам подставит в данное поле ввода все символы, что мы использовали в тексте выделенного поля ввода.

В самом низу окна Character Options находится небольшое текстовое поле Total number of glyphs, показывающее, сколько символов мы уже выбрали для внедрения. Так что мы сможем вовремя остановиться.

Кнопка Don't Embed позволит быстро удалить все символы, что мы выбрали для внедрения. При нажатии на нее будет очищено поле ввода Include these characters, а в большом списке с выбранных нами пунктов пропадет выделение.

Задав параметры внедрения шрифтов в диалоговом окне Character Embedding, следует нажать кнопку ОК, чтобы применить их. Если же нужно отменить эти параметры, нажмем кнопку Cancel.

Динамические текстовые блоки

Часто вместо того чтобы показывать обычный, неменяющийся текст, требуется выводить в текстовом виде результаты работы какого-либо сценария ActionScript. Например, такой сценарий может извлекать новости с сайта "Компьюленты", прогноз погоды — с сайта "Апорта", а курсы валют — с сайта "Рэмблера", добавлять к извлеченным данным текущее время и все это в виде текста выводить на экран. (Кстати, интересная идея…)

Вот как раз для вывода текста, являющегося результатом работы сценария, и применяются динамические текстовые блоки. (Обычные же текстовые блоки часто называют статическими.) Пожалуй, нужда в таких динамических текстовых блоках возникает чаще, чем в полях ввода.

Динамический текстовый блок создается практически так же, как поле ввода. Создаем обычный текстовый блок, выделяем его инструментом "стрелка" и находим в верхнем левом углу панели Properties небольшой раскрывающийся список (см. рис. 7.4). Вот только выбрать в этом списке нужно пункт Dynamic Text.

Выделенный динамический текстовый блок похож на поле ввода (см. рис. 7.9), да и панель Properties будет выглядеть примерно так же, как показано на рис. 7.10. Поэтому мы не будем давать описание находящихся в нем элементов управления, а ограничимся указанием на существующие отличия.

Для вывода текста в динамический текстовый блок используются все те же переменные. Сценарий ActionScript помещает в такую переменную выводимый текст, а сам вывод выполняет проигрыватель Flash. Имя этой переменной вводится во все то же поле ввода, что находится под списком, с помощью которого мы только что превратили обычный текстовый блок в динамический.

Теперь об отличиях. Отличие в плане интерфейса фактически имеется только одно и, вдобавок, оно нам уже знакомо. Кнопка-выключатель:

Включающая возможность выделения и копирования текста, помещенного в динамический текстовый блок — теперь доступна, и мы можем при желании ее отключить.

Отличие в плане возможностей состоит в том, что динамический текстовый блок может быть сделан прокручиваемым. Обычный динамический блок должен непременно иметь такие размеры, чтобы в нем помещалось все его содержимое. Для прокручиваемого же блока это не обязательно: подобно областям редактирования Windows, он может "прокручивать" содержащийся в нем текст. Для управления прокруткой же нам придется писать соответствующие сценарии ActionScript — прокручиваемый текстовый блок не содержит полос прокрутки.

Чтобы сделать динамический текстовый блок прокручиваемым, нужно сначала его выделить. После этого следует включить пункт-выключатель Scrollable меню Text или одноименный пункт контекстного меню текстового блока. Если текстовый блок в данный момент открыт, можно дважды щелкнуть на квадратном маркере, расположенном в правом нижнем углу прямоугольника выделения, удерживая нажатой клавишу . Готовый прокручиваемый текстовый блок показан на рис. 7.12; обратим внимание, что маркер, который мы щелкали, принял форму черного квадратика.

 

Подстановка шрифтов

Напоследок мы рассмотрим один вопрос, который не касается непосредственно темы поддержки шрифтов Flash. Точнее, касается, но, как говорится, другим боком…

Представим себе такую довольно часто встречающуюся ситуацию. Мы создали во Flash какой-либо документ, использовав в нем текст, набранный очень редким хитроумным шрифтом. После этого мы передали этот документ (обратим внимание — сам документ, а не готовый файл Shockwave/Flash) на доработку своему коллеге, на компьютере которого этот шрифт не установлен. Что случится, когда он попытается открыть этот документ на своем компьютере? Ведь в этом случае Flash не найдет нужного шрифта и будет вынужден как-то выходить из положения.

И с честью выйдет из него! Как только Flash понадобится для отображения текста этот самый отсутствующий шрифт, он выведет на экран диалоговое окно Missing Font Warning (рис. 7.13).

Сообщение в этом окне гласит: "Flash для вывода текста нужен шрифт, который в данный момент не установлен в системе, и он будет вынужден выполнить подстановку шрифта ", т. е. заменить отсутствующий шрифт другим, установленным в системе. Конечно, при этом текст исказится, но зато ваш коллега сможет просмотреть и отредактировать этот документ.

Для выполнения подстановки шрифта Flash предлагает нашему коллеге следующую альтернативу действий.

Первое и самое простое: отдать все на откуп Flash. В настройках Flash можно задать шрифт, который будет автоматически подставляться вместо отсутствующих (о настройках Flash см. главу 23). Чтобы выбрать этот вариант, следует нажать кнопку Use Default диалогового окна Missing Font Warning.

Второй и более "продвинутый" вариант: взять бразды правления в свои руки, для чего достаточно нажать кнопку Choose Substitute этого диалогового окна. После этого на экране появится диалоговое окно Font Mapping, показанное на рис. 7.14.

Большую часть этого окна занимает список отсутствующих шрифтов. Он оформлен в виде таблицы из двух колонок: Missing Fonts (отсутствующие шрифты) и Mapped То (шрифты-замены). Изначально в колонке Mapped То из всех отсутствующих шрифтов присутствует только шрифт, заданный в настройках Flash; он обозначается пунктом System Default Font. Мы можем выбирать строки этого списка и задавать для соответствующих отсутствующих шрифтов заменители, выбирая нужные шрифты в раскрывающемся списке Substitute font. Если мы для какого-то отсутствующего шрифта хотим вернуть шрифт, заданный в настройках Flash, нажмем кнопку System Default.

Закончив подстановку шрифтов, нажмем кнопку ОК, чтобы сохранить заданные нами параметры. Если мы хотим отказаться от них, нажмем кнопку Cancel; тогда вместо всех отсутствующих шрифтов будет подставлен шрифт, заданный в настройках Flash в качестве шрифта по умолчанию.

Впоследствии, если мы выделим текстовый блок, содержащий текст, набранный отсутствующим шрифтом, то увидим, что в раскрывающемся списке шрифтов панели Properties название этого (отсутствующего) шрифта помещено в скобки (рис. 7.15).

Интересная особенность Flash: после подстановки шрифтов он не сохраняет в документе сведений о шрифте-замене. То есть если наш коллега все-таки найдет недостающий шрифт и установит его на свой компьютер, то при последующем открытии вашего документа текст будет набран именно этим, изначальным шрифтом. Удобно, не правда ли?

Если мы еще раз посмотрим на рис. 7.13, то увидим, что диалоговое окно Missing Font Warning содержит флажок Don't warn me again (Больше не предупреждать меня). Если наш коллега включит его перед тем, как сделать свой выбор, Flash будет всегда применять этот выбор, не задавая лишних вопросов.

Наш коллега может также вызвать диалоговое окно Font Mapping, выбрав пункт Font Mapping в меню Edit. Это позволит ему управлять подстановкой шрифтов уже после того, как документ будет открыт.

Flash сохраняет для дальнейшего использования все установки, заданные в окне Font Mapping. И после открытия другого документа, содержащего отсутствующие шрифты, эти установки уже будут содержаться в диалоговом окне Font Mapping. Чтобы изменить их, наш коллега должен будет закрыть все открытые документы и выбрать все тот же пункт Font Mapping в меню Edit. На экране появится диалоговое окно Font Mapping, в котором он сможет выполнить любые изменения этих установок. Если же он хочет удалить какую-то установку для определенного шрифта, то должен будет выделить нужный пункт списка и нажать кнопку Delete, доступную только в этом случае.

 

Что дальше?

Вот мы и выяснили все о текстовых блоках и их поддержке во Flash. Мы познакомились также со средствами, позволяющими придать надлежащий вид тексту в изображении Flash на любом из компьютеров, на которых оно будет воспроизводиться. И, наконец, мы постигли все тонкости, связанные с подстановкой шрифтов.

Следующая глава будет посвящена образцам и библиотекам Flash. Это особое средство, позволяющее… Нет, об этом следует рассказывать как можно подробнее!

 

Глава 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, контекстного меню выделенного фрагмента изображения или нажмем клавишу . На экране появится небольшое диалоговое окно Convert to Symbol, показанное на рис. 8.2.

Как уже говорилось в самом начале этой главы, каждый образец должен иметь уникальное имя, по которому Flash сможет его однозначно идентифицировать. Имя образца может содержать практически любые символы: буквы русского и латинского алфавита, цифры, знаки препинания, символы подчеркивания и пробелы. Вводится оно в поле ввода Name.

С помощью группы переключателей Behavior задается тип образца: графический образец (переключатель Graphic), образец-кнопка (переключатель Button) или образец-клип (переключатель Movie clip).

Правее группы переключателей Behavior находится переключатель точки отсчета Registration. Точка отсчета, как мы помним из главы 4, — это точка, относительно которой будет вестись отсчет местоположения экземпляра этого образца и выполняться вращение экземпляра. Переключатель позволяет выбрать девять мест, куда можно поместить точку отсчета простым щелчком мыши на белой точке; по умолчанию она находится в левом верхнем углу образца и помечена черной точкой.

Закончив задание параметров образца, нажмем кнопку ОК, чтобы создать его. Если мы передумали создавать новый образец, нажмем кнопку Cancel.

После того как созданный нами образец будет добавлен в библиотеку, фрагмент изображения, на основе которого он был создан, станет его экземпляром. Так что наше изображение не будет испорчено.

Теперь, чтобы посмотреть на созданный образец, откроем панель Library (рис. 8.3). Для этого выберем пункт Library в меню Window или нажмем комбинацию клавиш +.

Эта панель разделена на две части. В нижней части находится список уже созданных образцов; мы можем выбирать эти образцы, щелкая мышью на их именах. Левее имен в этом списке находятся небольшие пиктограммы, обозначающие тип образца. В верхней же части панели находится область предварительного просмотра, где отображается содержимое образца, выбранного в нижней части панели. Мы можем менять размеры этих частей, передвигая мышью серую полосу, разделяющую их. И конечно, мы можем менять размеры самой панели Library.

Кстати, если на экране присутствует панель Library, мы можем просто перетащить в нее выделенный фрагмент изображения, чтобы превратить его в образец. В этом случае на экране также появится диалоговое окно Convert to Symbol (см. рис. 8.2), в котором мы сможем задать параметры создаваемого образца.

Подробнее панель Library и работу с ней рассмотрим далее в этой главе. Сейчас же давайте узнаем о втором способе создание образца — "с нуля".

Чтобы создать и поместить в библиотеку новый "пустой" образец, нужно выбрать пункт New Symbol меню Insert или нажать комбинацию клавиш +. Если панель Library открыта, также можно выбрать пункт New Symbol в ее дополнительном меню или нажать кнопку которая находится в нижнем левом углу этой панели:

На экране появится диалоговое окно Convert to Symbol (см. рис. 8.2), в котором мы сможем задать параметры создаваемого образца.

После нажатия кнопки ОК окна Convert to Symbol рабочий лист очистится, и мы сможем нарисовать нужный образец. В центре листа виден небольшой черный крестик — это точка отсчета образца. К сожалению, мы не сможем переместить ее на другое место — вместо этого придется сместить сам нарисованный образец.

Закончив рисование образца, выберем пункт Edit Document в меню Edit или нажмем комбинацию клавиш +. Также можно нажать кнопку, расположенную в левой части инструментария документа:

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. Тогда окончательная доля данной составляющей будет вычисляться по формуле

R 1 = R 0  × R + r.

Предположим, например, что изначальная доля красной составляющей цвета экземпляра была 128, в левое поле ввода было введено значение 80 %, а в правое — 24. Тогда окончательная доля красной составляющей будет равна

128 × 0,8 + 24 = 126,4 ≈ 126.

Как видно, цвет экземпляра можно задавать достаточно точно. Это может очень пригодиться при создании анимации.

Трансформация экземпляров

Мы можем применить к экземпляру почти все трансформации, доступные для обычного фрагмента изображения, не являющегося экземпляром: вращение, изменение размеров, сдвиг и пр. Также мы можем изменить точку отсчета экземпляра. Все эти операции были описаны в главе 4.

Невозможно использовать только трансформации, сильно меняющие форму экземпляра. К ним относятся деформация (модификатор "огибающая" инструмента "трансформатор") и искажение формы (одноименный модификатор того же инструмента).

Сброс всех трансформаций, примененных к экземпляру

Из главы 4, посвященной трансформации фрагментов изображения, мы узнали, что можно отменить (сбросить) последнюю примененную к фрагменту трансформацию, выполненную с помощью панели Transform. В случае экземпляров Flash предоставляет такую же возможность, за двумя исключениями.

□ Сбрасывается не самая последняя, а все трансформации экземпляра. Это значит, что после выполнения операции сброса экземпляр принимает свой изначальный вид.

□ Сбрасываются все трансформации, а не только примененные через панель Transform.

Напомним, что для сброса трансформаций нужно выбрать пункт Remove Transform подменю Transform меню Modify или нажать комбинацию клавиш ++. Также можно нажать кнопку, расположенную в правом нижнем углу панели 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 или контекстного меню выделенного экземпляра, либо нажимаем комбинацию клавиш +. В результате Flash превратит этот экземпляр в обычную графику и выделит ее.

 

Работа с образцами

Мы научились работать с экземплярами, созданными на основе образцов. Давайте теперь выясним, как работать с самими образцами.

Правка образцов

Разумеется, время от времени мы будем править созданные нами образцы. В конце концов, нечасто удается сделать все так, как надо.

Flash предоставляет целых три способа исправить образец:

□ в обычном режиме правки образца;

□ "на месте";

□ в отдельном окне документа Flash.

Мы можем выбрать любой из этих способов.

Проще всего переключиться в режим правки образца "на месте" (рис. 8.10). При этом мы сможем исправить образец прямо на рабочем листе, где находится наше изображение. Вся окружающая образец графика станет недоступной для выделения и правки; мы сможем править только сам образец.

Чтобы переключиться в режим правки образца "на месте", нужно дважды щелкнуть по любому созданному на его основе экземпляру. Также можно выделить нужный экземпляр и выбрать пункт Edit in Place меню Edit или контекстного меню экземпляра.

Режим правки образца в отдельном окне документа Flash обладает тем преимуществом, что мы можем править образец, одновременно с ним имея перед глазами основное изображение. Конечно, для этого нам придется изменить размеры открытых окон Flash и переместить их, чтобы были видны и основное изображение, и исправляемый образец. (Как это сделать, было описано в главе 2.). Правда, не всем может понравиться, если в одной программе будет открыто слишком много окон…

Чтобы переключиться в режим правки образца в новом окне, достаточно выделить любой экземпляр, созданный на основе этого образца, и выбрать пункт Edit in New Window в его контекстном меню. При этом окно документа, в котором будет открыт образец, получит заголовок вида:

<Имя файла документа>.fla: < Порядковый номер образца>.

Так что мы сразу поймем, что открыто в этом окне.

Обычный режим правки образца — это такой режим, при котором Flash скрывает основное изображение, выводя на его место исправляемый образец. Так что мы будем видеть перед собой только выбранный для исправления образец — и больше ничего.

Переключиться в обычный режим правки образца можно одним из следующих способов:

□ выделив любой экземпляр этого образца и выбрав пункт Edit Symbols меню Edit или нажав комбинацию клавиш +;

□ выделив экземпляр и выбрав пункт Edit Selected того же меню;

□ выбрав пункт Edit в контекстном меню выделенного экземпляра;

□ нажав расположенную в правой части инструментария документа кнопку Edit Symbols и выбрав имя нужного образца в появившемся на экране меню (рис. 8.11);

□ дважды щелкнув либо на пиктограмме слева от имени нужного образца в списке панели Library (см. рис. 8.3), либо на его изображении в области предварительного просмотра этой же панели;

□ выделив нужный образец в списке панели Library и выбрав пункт Edit в контекстном меню этого списка или дополнительном меню панели.

Для правки образца можно применять все уже знакомые нам приемы работы с графикой. Единственное исключение: не удастся изменить точку отсчета образца штатными средствами. Для этого придется выделить весь образец

и переместить его так, чтобы точка фиксации пришлась на другое, нужное нам, место образца. (Однако штатными средствами мы можем изменить точку отсчета у любого экземпляра этого образца.)

Чтобы выйти из режима редактирования образца, проще всего выбрать пункт Edit Document меню Edit, нажать комбинацию клавиш + или щелкнуть по кнопке, расположенной в левой части инструментария документа:

Если мы используем режим правки образца "по месту", то можем дважды щелкнуть мышью в области рабочего листа где-нибудь вне образца. Если же мы выбрали режим правки образца в отдельном окне документа, просто закроем это окно.

Дублирование образцов

Часто бывает нужно создать новый образец, лишь слегка отличающийся от уже имеющегося. В этом случае проще и быстрее всего выполнить дублирование образца, а потом уже исправить полученный дубликат.

Чтобы создать дубликат имеющегося в библиотеке образца, сначала нужно будет выделить любой созданный на его основе экземпляр. Далее следует выбрать пункт 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 задают фон области предварительного просмотра: заданный в параметрах документа и белый соответственно.

Управление образцами

Мы уже знаем, как добавлять в библиотеку новые образцы, как их править и изменять их тип. Давайте поговорим о других действиях, которые можно выполнить над образцами.

Можно выделять в списке сразу несколько образцов. Для этого следует выбрать щелчком первый образец из нужных нам, нажать клавишу и, удерживая ее, продолжить щелкать на остальных образцах, которые требуется выделить. Можно также щелкнуть на первом образце, нажать клавишу и, удерживая ее, щелкнуть на другом, — все образцы, находящиеся в списке между этими двумя, будут выделены.

Мы можем переименовать любой образец, независимо от того, были ли на его основе созданы экземпляры или нет. Для этого достаточно дважды щелкнуть на имени (не на пиктограмме) нужного образца в списке. (Можно также выделить нужный образец и либо воспользоваться пунктом Rename контекстного меню списка или дополнительного меню панели, либо просто нажать клавишу .) Вместо имени этого образца появится небольшое поле ввода, в котором будет подставлено старое имя. Введем туда новое имя и нажмем клавишу для его сохранения или для отказа от изменения имени.

После переименования образца, на основе которого уже были созданы экземпляры, эти экземпляры все равно останутся привязанными к нему. Так что мы можем сколько угодно переименовывать образцы, не опасаясь нарушить их связи с экземплярами.

Чтобы удалить ненужный образец, его следует выделить в списке панели 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 в дополнительном меню этой панели.

В списке образцов появится небольшое поле ввода; введем в него имя новой папки и нажмем клавишу . Если же нажать клавишу , новая папка получит имя вида 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 или нажать комбинацию клавиш ++<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 или нажимает комбинацию клавиш ++<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, — фильтрах и наложениях.

 

Глава 9

Использование фильтров и наложений

 

До сих пор мы изучали возможности, перекочевавшие во Flash 8 из предыдущих версий этой программы. Многие из них появились еще в самой первой версии Flash, вышедшей во второй половине 90-х годов прошлого века. Это, в основном, ключевые возможности Flash, касающиеся рисования и правки графики, простых трансформаций, управления цветом, слоями и пр.

А теперь мы познакомимся с двумя нововведениями, появившимися только во Flash 8. Это фильтры и наложения, позволяющие быстро создавать эффекты наподобие тени, размытия, сложения цветов и др. Пользователям замечательного пакета растровой Web-графики Macromedia Fireworks все это должно быть уже знакомо.

Начнем мы с фильтров, как более простых и эффектных нововведений Flash 8.

 

Фильтры

 

Фильтры Flash 8 позволяют применить к фрагменту изображения такие эффекты, как отбрасывание тени, "выдавливание", иллюзию тления и пр. Сейчас мы рассмотрим, как все это делается.

Сразу же нужно сказать вот что. Фильтры могут быть применены не ко всем фрагментам графики, а только кнопкам, клипам (экземплярам образцов-клипов) и текстовым блокам. Так что если мы хотим применить какой-то фильтр к обычному примитиву, придется преобразовать его в экземпляр образца-клипа. Как это делается, было описано в главе 8.

 

Создание фильтров

Для создания фильтров нам понадобится "универсальная" панель Properties. Только в этом случае нам понадобится переключиться на вкладку Filters этой панели (рис. 9.1). Также можно включить пункт-переключатель Filters подменю Properties меню Window.

В левой части панели Properties после переключения на вкладку Filters появится большой список, в котором будут перечислены все созданные нами к данному моменту фильтры. (На рис. 9.1 этот список пуст.) Над этим списком будут находиться кнопки Add filter (со знаком "плюс") и Remove filter (со знаком "минус"), выполняющие создание нового и удаление выделенного в списке фильтра соответственно.

Итак, чтобы создать новый фильтр, нам будет нужно выделить на рабочем листе нужный нам фрагмент изображения (кнопку, клип или текстовый блок) и нажать кнопку Add filter. После этого на экране появится меню, показанное на рис. 9.2. В этом меню перечислены пункты, соответствующие доступным фильтрам, а также выполняющие различные вспомогательные операции. Пункты, создающие фильтры Flash, находятся в нижней части этого меню.

Фильтр будет создан сразу же после выбора соответствующего пункта меню кнопки Add filter. В списке фильтров появится и будет выбран пункт, носящий название этого фильтра. А справа от списка фильтров появятся элементы управления, с помощью которым мы сможем задать его параметры.

Мы можем создавать для выделенного фрагмента изображения несколько фильтров. При этом они будут применяться в том порядке, в котором перечислены в списке фильтров.

 

Фильтры, поставляемые в составе Flash

А теперь давайте подробно рассмотрим все фильтры, поставляемые в комплекте Flash, и все их параметры.

Отображение тени (Drop Shadow)

Фильтр, позволяющий создать тень для выделенного фрагмента изображения, создается выбором пункта Drop Shadow меню кнопки Add filter. Результат его применения показан на рис. 9.3.

Если выбрать в списке фильтров панели Properties пункт Drop Shadow, соответствующий этому фильтру, правее этого списка появятся элементы управления для настройки его параметров. Эти элементы управления показаны на рис. 9.4.

Поля ввода с регуляторами Blur X и Blur Y позволяют задать размеры тени в пикселах. Если включить расположенную правее этих полей ввода кнопку-выключатель со знаком замка, Flash при изменении значения в одном из полей будет менять значение в другом поле, чтобы соблюсти пропорции тени.

Поле ввода с регулятором Strength позволяет задать степень насыщенности тени в процентах.

Раскрывающийся список Quality задает качество отрисовки тени. В нем доступны три пункта: Low (Низкое качество), Medium (Среднее) и High (Высокое). По умолчанию выбран пункт Low.

Здесь нужно помнить, что чем выше качество отрисовки тени, тем больше времени отнимает вывод изображения на экран. Разработчики вообще рекомендуют оставлять выбранным пункт Low (Низкое качество), если, конечно, не стоит задача получить изображение максимального качества.

Селектор цвета Color служит для задания цвета тени.

Поле ввода с регулятором Angle задает угол "падения" тени в градусах. Это поле ввода с регулятором несколько отличается от уже рассмотренных нами полей тем, что имеет круговой регулятор (поле ввода с круговым регулятором; рис. 9.5).

Видно, что это поле ввода имеет регулятор в виде круговой шкалы. Чтобы им воспользоваться, нужно сначала открыть его щелчком мышью по кнопке, расположенной правее поля ввода. Далее ставим курсор мыши на любую точку шкалы этого регулятора, нажимаем кнопку мыши и, не отпуская ее, буксируем мышь по вертикали, вверх или вниз. При буксировке мыши мы можем заметить, что небольшой, имеющий вид точки указатель движется по шкале регулятора. Задав нужное значение (его можно видеть в поле ввода), мы отпустим кнопку мыши, и регулятор пропадет с экрана.

Поле ввода с регулятором Distance позволяет задать расстояние между фрагментом изображения и тенью. Здесь можно вводить как положительные, так и отрицательные значения.

Флажок Knockout при включении "заливает" фрагмент изображения, к которому применяется фильтр, белым цветом. Это позволяет создать интересный эффект (рис. 9.6).

Флажок Inner shadow позволяет отобразить тень "внутри" ее "владельца". А флажок Hide object скрывает "владельца" тени, оставляя саму тень видимой.

Размытие (Blur)

Фильтр, создающий эффект размытия выделенного фрагмента изображения, создается выбором пункта Blur меню кнопки Add filter. Результат его применения показан на рис. 9.7, а набор элементов управления для задания его параметров — на рис. 9.8.

Поля ввода с регуляторами Blur X и Blur Y позволяют задать размеры области размытости в пикселах. Если включить расположенную правее этих полей ввода кнопку-выключатель со знаком замка, Flash при изменении значения в одном из полей будет менять значение в другом поле, чтобы соблюсти пропорции области размытости.

Раскрывающийся список Quality задает качество отрисовки размытости. В нем доступны три пункта: Low (Низкое качество), Medium (Среднее) и High (Высокое). По умолчанию выбран пункт Low.

Эффект сияния (Glow)

Фильтр, создающий эффект сияния выделенного фрагмента изображения, создается выбором пункта Glow меню кнопки Add filter. Результат его применения показан на рис. 9.9, а набор элементов управления для задания его параметров — на рис. 9.10.

Поля ввода с регуляторами Blur X и Blur Y позволяют задать размеры области "сияния" в пикселах. Если включить расположенную правее этих полей ввода кнопку-выключатель со знаком замка, Flash при изменении значения в одном из полей будет менять значение в другом поле, чтобы соблюсти пропорции области "сияния".

Поле ввода с регулятором Strength позволяет задать степень насыщенности "сияния" в процентах.

Раскрывающийся список Quality задает качество отрисовки эффекта тления. В нем доступны три пункта: Low (Низкое качество), Medium (Среднее) и High (Высокое). По умолчанию выбран пункт Low.

Флажок Knockout при включении "заливает" фрагмент изображения, к которому применяется фильтр, белым цветом. Флажок Inner glow позволяет отобразить имитацию "сияния" внутри ее "владельца".

Эффект вдавливания (Bevel)

Фильтр, создающий эффект вдавливания выделенного фрагмента изображения, создается выбором пункта Bevel меню кнопки Add filter. Результат его применения показан на рис. 9.11, а набор элементов управления для задания его параметров — на рис. 9.12.

Поля ввода с регуляторами Blur X и Blur Y позволяют задать размеры области "вдавливания" в пикселах. Если включить расположенную правее этих полей ввода кнопку-выключатель со знаком замка, Flash при изменении значения в одном из полей будет менять значение в другом поле, чтобы соблюсти пропорции области "вдавливания".

Поле ввода с регулятором Strength позволяет задать степень "вдавленности" в процентах.

Раскрывающийся список Quality задает качество отрисовки эффекта вдавливания. В нем доступны три пункта: Low (Низкое качество), Medium (Среднее) и High (Высокое). По умолчанию выбран пункт Low.

Селекторы цвета Shadow и Highlight служит для задания цветов затененной и освещенной сторон "вдавленного" фрагмента изображения соответственно.

Поле ввода с регулятором Angle задает угол "вдавленности" в градусах, а поле ввода с регулятором Distance — ее "глубину". Причем "глубина" эта может принимать как положительные, так и отрицательные значения.

Флажок Knockout при включении "заливает" фрагмент изображения, к которому применяется фильтр, белым цветом.

Раскрывающийся список Туре позволяет задать вид эффекта вдавливания. В нем доступны три пункта:

□ Inner — эффект создается на самом фрагменте изображения (выбран по умолчанию);

□ Outer — эффект создается вокруг фрагмента изображения, оставляя сам этот фрагмент нетронутым;

□ Full — комбинация пунктов Inner и Outer.

Эффект градиентного сияния (Gradient Glow ,)

Фильтр, создающий эффект сияния выделенного фрагмента изображения и использующий для создания этого эффекта градиент, создается выбором пункта Gradient Glow меню кнопки Add filter. Результат его применения показан на рис. 9.13, а набор элементов управления для задания его параметров — на рис. 9.14.

Поля ввода с регуляторами Blur X и Blur Y позволяют задать размеры области "сияния" в пикселах. Если включить расположенную правее этих полей ввода кнопку-выключатель со знаком замка, Flash при изменении значения в одном из полей будет менять значение в другом поле, чтобы соблюсти пропорции области "сияния".

Поле ввода с регулятором Strength позволяет задать степень насыщенности "сияния" в процентах.

Раскрывающийся список Quality задает качество отрисовки эффекта сияния. В нем доступны три пункта: Low (Низкое качество), Medium (Среднее) и High (Высокое). По умолчанию выбран пункт Low.

Поле ввода с регулятором Angle задает угол направления эффекта в градусах, а поле ввода с регулятором Distance — ее величину отступа эффекта от фрагмента изображения, к которому применяется фильтр. Причем величина отступа может принимать как положительные, так и отрицательные значения.

Флажок Knockout при включении "заливает" фрагмент изображения, к которому применяется фильтр, белым цветом.

Раскрывающийся список Туре позволяет задать вид эффекта градиентного тления. В нем доступны три пункта:

□ Inner — эффект создается на самом фрагменте изображения;

□ Outer — эффект создается вокруг фрагмента изображения, оставляя сам этот фрагмент нетронутым (выбран по умолчанию);

□ Full — комбинация пунктов Inner и Outer.

Кроме того, в панели Properties имеется линейка для задания градиентного цвета, который используется при создании фильтра. На этой линейке находятся два указателя цвета, задающие ключевые цвета градиента.

Чтобы задать ключевой цвет для какого-либо указателя, достаточно щелкнуть по нему. После этого на экране появится окно селектора цвета, в котором мы сможем выбрать нужный цвет.

Чтобы добавить новый указатель цвета (и тем самым — новый ключевой цвет в градиент), нужно щелкнуть чуть ниже линейки, на уровне остальных указателей. Удалить ненужный указатель цвета можно, "сдернув" его мышью вниз.

Эффект градиентного вдавливания (Gradient Bevel )

Фильтр, создающий эффект вдавливания выделенного фрагмента изображения и использующий для создания этого эффекта градиентный цвет, создается выбором пункта Gradient Bevel меню кнопки Add filter. Результат его применения показан на рис. 9.15, а набор элементов управления для задания его параметров — на рис. 9.16.

Поля ввода с регуляторами Blur X и Blur Y позволяют задать размеры области "вдавливания" в пикселах. Если включить расположенную правее этих полей ввода кнопку-выключатель со знаком замка, Flash при изменении значения в одном из полей будет менять значение в другом поле, чтобы соблюсти пропорции области "вдавливания".

Поле ввода с регулятором Strength позволяет задать степень "вдавленности" в процентах.

Раскрывающийся список Quality задает качество отрисовки эффекта вдавливания. В нем доступны три пункта: Low (Низкое качество), Medium (Среднее) и High (Высокое). По умолчанию выбран пункт Low.

Поле ввода с регулятором Angle задает угол "вдавленности" в градусах, а поле ввода с регулятором Distance — ее "глубину". Причем "глубина" эта может принимать как положительные, так и отрицательные значения.

Флажок Knockout при включении "заливает" фрагмент изображения, к которому применяется фильтр, белым цветом.

Раскрывающийся список Туре позволяет задать вид эффекта градиентного вдавливания. В нем доступны три пункта:

□ Inner — эффект создается на самом фрагменте изображения (выбран по умолчанию);

□ Outer — эффект создается вокруг фрагмента изображения, оставляя сам этот фрагмент нетронутым;

□ Full — комбинация пунктов Inner и Outer.

Что касается самого градиентного цвета, использующегося при создании фильтра, то он задается с помощью уже знакомой нам линейки.

Настройка цвета (Adjust Color )

Фильтр, позволяющий настроить цвет выделенного фрагмента изображения, создается выбором пункта Adjust Color меню кнопки Add filter. Набор элементов управления для задания параметров этого фильтра показан на рис. 9.17.

Как видно на рис. 9.17, панель Properties содержит набор из четырех регуляторов, перечисленных ниже:

□ Brightness задает яркость выделенного фрагмента изображения;

□ Contrast — контрастность;

□ Saturation — насыщенность;

□ Hue — оттенок.

Мы можем задавать как положительные, так и отрицательные значения всех этих параметров. Кроме того, мы можем ввести нужное значение любого из параметров вручную. Для этого служат поля ввода, находящиеся правее перечисленных выше регуляторов.

Кнопка Reset позволит нам быстро сбросить заданные параметры фильтра в значения по умолчанию (т. е. в нулевые значения).

 

Управление фильтрами

Так, создавать фильтры и задавать их параметры мы уже научились. Давайте выясним, что же мы можем еще делать с ними.

Выше говорилось, что мы можем применять к выделенному фрагменту изображения сразу несколько фильтров. При этом они будут применяться к этому фрагменту в том порядке, в котором перечислены в списке фильтров панели Properties (см. рис. 9.1). Так вот, мы можем перемещать фильтры в списке мышью, меняя их порядок.

Удалить ненужный фильтр также очень просто. Выделяем в списке фильтров соответствующий ему пункт и нажимаем кнопку Remove filter, находящуюся над списком и помеченную значком "минус".

Также можно удалить сразу все фильтры, созданные для выделенного фрагмента изображения. Для этого достаточно выбрать пункт Remove All меню кнопки Add filter (см. рис. 9.2).

Если нужно временно убрать действие какого-либо фильтра, мы можем щелкнуть мышью по значку зеленой галочки, находящейся левее названия соответствующего пункта списка фильтров. После щелчка значок галочки сменится красным символом X, и фильтр будет отключен. Чтобы снова включить фильтр, нужно щелкнуть мышью по символу X (после этого там снова появится зеленая галочка, говорящая, что фильтр включен).

Пункт Disable All меню кнопки Add filter позволяет отключить сразу все фильтры. А пункт Enable All того же меню, наоборот, все их включает.

Если мы создали, с нашей точки зрения, удачную комбинацию фильтров, то можем сохранить ее в виде набора фильтров. Для создания набора фильтров

достаточно выбрать пункт Save As подменю Presets меню кнопки Add filter. На экране появится диалоговое окно Save Preset As (рис. 9.18). Вводим в единственное поле ввода Preset name этого окна имя создаваемого набора фильтров и нажимаем кнопку ОК. Если мы передумали создавать набор фильтров, нажмем кнопку Cancel.

Все созданные таким образом наборы фильтров будут присутствовать в виде пунктов, находящихся в нижней части подменю Presets меню кнопки Add filter. И чтобы применить нужный набор фильтров к выделенному фрагменту изображения, нам будет достаточно выбрать соответствующий пункт этого подменю.

Чтобы удалить ненужный набор фильтров, достаточно выбрать пункт Delete подменю Presets меню кнопки Add filter. На экране появится диалоговое окно Delete Preset (рис. 9.19). Выбираем в большом списке набор фильтров, который хотим удалить, и нажимаем кнопку Delete. Чтобы закрыть это окно, не удаляя ни одного набора фильтров, достаточно нажать кнопку Cancel.

На заметку

По идее, Flash 8 также позволяет переименовать выбранный набор фильтров. В подменю Presets меню кнопки Add filter доступен пункт Rename , после выбора которого на экране появляется диалоговое окно Rename Preset , похожее на окно Delete Preset . Но кнопка Rename этого окна, с помощью которой выполняется переименование набора фильтров, недоступна. Вероятно, это ошибка в программе.

 

Наложения

Наложения Flash 8 — это режимы смешивания цвета выделенного нами фрагмента изображения и цветов всех фрагментов, которые находятся под ним. При этом не имеет значения, лежат ли все эти фрагменты на одном слое или разнесены по разным слоям.

Наложения могут быть применены только к клипам (экземплярам образцов-клипов). Поэтому если нам нужно применить наложение к фрагменту изображения, не являющемуся клипом, придется сначала преобразовать его в образец-клип и применить наложение к его экземпляру.

Наложение задается с помощью панели Properties, а именно, пунктов раскрывающегося списка Blend, расположенного на вкладке Properties этой панели. Этот список показан на рис. 9.20.

Давайте перечислим все пункты этого списка и познакомимся с предлагаемыми ими режимами наложения.

□ Normal — отключение всех наложений, т. е. фрагменты графики ведут себя, как обычно.

□ Layer — то же самое, что при выборе пункта Normal. По крайней мере, автору книги не удалось обнаружить никаких отличий. Скорее всего, это ошибка в программе.

□ Darken — более светлые пикселы перекрываемых фрагментов, имеющие цвет клипа, заменяются на пикселы клипа, остальные остаются неизменными.

□ Lighten — более темные пикселы перекрываемых фрагментов, имеющие цвет клипа, заменяются на пикселы клипа, остальные остаются неизменными.

□ Screen — инвертированные пикселы клипа умножаются на пикселы перекрываемых фрагментов.

□ Overlay — то же самое, что при выборе пункта Screen, только с учетом цвета пикселов перекрываемых фрагментов.

□ Hard light — то же самое, что при выборе пункта Screen, только с учетом цвета пикселов клипа.

□ Difference — цвет пикселов клипа вычитается из цвета пикселов перекрываемых фрагментов или наоборот, в зависимости от того, какие пикселы ярче.

□ Invert — цвета пикселов клипа и перекрываемых фрагментов инвертируются.

□ Alpha и Erase — клип просто исчезает. Насколько удалось выяснить автору этой книги, другой эффект выбор этих пунктов не дает. Вероятно, это также ошибка в программе.

Скорее всего, для создания нужного эффекта придется поэкспериментировать с различными наложениями. Как говорится, лучше один раз увидеть…

 

Что дальше?

Вот мы и познакомились с новыми возможностями, предлагаемыми Flash 8, — фильтрами и наложениями. Удобные, кстати, штуки — автору они пригодились в Macromedia Fireworks, значит, пригодятся и во Flash.

Flash 8, как мы помним из главы 1, — пакет гибридной графики. Это значит, что изображение Flash может содержать, наряду с векторными, и растровые фрагменты. О том, как импортировать такие фрагменты в документ Flash и что можно с ними делать потом, и расскажет следующая глава.

 

Глава 10

Импорт графики

 

Ну, до чего же хорош Flash 8! И рисовать в нем можно, и анимировать, и даже писать программы (эта тема, правда, выходит за рамки данной книги). И при этом размер получающихся файлов Shockwave/Flash настолько мал, что они могут распространяться через Интернет. Неудивительно, что именно он получил на просторах Всемирной сети такую популярность. Ура, да здравствует Flash 8, великий и могучий!

Но Flash не универсален. Например, он не содержит абсолютно никаких инструментов для работы с растровой графикой. То есть векторное изображение практически любой сложности мы в нем нарисуем, но создать изображение растровое — увы!.. Для работы с растровой графикой служат другие программы: Adobe Photoshop, Macromedia Fireworks, Microsoft Paint и др. Да и в области векторной графики Flash не так уж силен — он не позволяет делать многое, доступное более мощным пакетам, таким как CorelDRAW и Macromedia FreeHand.

Поэтому профессиональные художники для создания особо сложной графики, включающей как векторные, так и растровые фрагменты, используют несколько различных программ. Обычный комплект профессионала таков: Adobe Photoshop, CorelDRAW или Macromedia FreeHand, возможно, Macromedia Fireworks. Именно в этих пакетах зачастую подготавливаются изображения, которые потом станут составными частями документа Flash.

Подготовленные изображения помещаются в документ Flash с помощью особой операции импорта (импортируются, иначе говоря). И после этого с ними можно творить, что душе угодно: помещать на рабочий лист, трансформировать, раскрашивать в разные цвета и даже анимировать.

В этой главе речь как раз и пойдет о том, как выполнить импорт подготовленных в других пакетах изображений в документ Flash. (Flash также поддерживает импорт видео и звука, но об этом мы поговорим соответственно в главах 16 и 17.) Итак, запасемся изображениями в разных форматах и начнем…

 

Какие форматы графики поддерживает Flash

Сначала выясним, какие форматы графики поддерживает Flash 8. Их довольно много, и все они перечислены в табл. 10.1.

А если на нашем компьютере установлен пакет Apple QuickTime версии не ниже 4, будут доступны для импорта еще несколько графических форматов, перечисленные в табл. 10.2.

Да, список поддерживаемых Flash форматов статичной графики достаточно велик, но неполон. Так что если нам понадобится импортировать во Flash файл неподдерживаемого формата, придется найти программу, поддерживающую этот формат, и с ее помощью преобразовать данный файл в один из поддерживаемых форматов.

 

Импорт графики

 

Существуют два способа импортировать во Flash графику, созданную в другом графическом пакете. Рассмотрим их.

Первый способ очень прост. Выбираем пункт Import to Stage подменю Import меню File или нажимаем комбинацию клавиш +. На экране появится стандартное диалоговое окно открытия файла Windows. Находим нужный файл и нажимаем кнопку открытия файла этого диалогового окна. После этого выбранный нами графический файл будет импортирован и сразу же помещен на рабочий лист.

Второй способ еще проще. Запускаем нужный графический пакет, открываем в нем файл, содержащий нужное изображение, или создаем его заново, копируем это изображение в буфер обмена Windows и вставляем во Flash, выбрав один из трех пунктов: Paste, Paste Special или Paste in Center меню Edit. Первые два пункта нам уже знакомы; третий позволяет вставить находящееся в буфере обмена изображение прямо в центр рабочего листа.

Оба этих способа позволяют поместить импортированное изображение и в библиотеку в виде импортированного образца, и на рабочий лист. Если же мы хотим поместить импортируемое изображение только в библиотеку, то должны будем выбрать пункт Import to Library подменю Import меню File. На экране после этого появится стандартное диалоговое окно открытия файла Windows; находим в нем нужный файл и нажимаем кнопку открытия.

 

Особенности импорта разных графических форматов

Импорт файлов, сохраненных в некоторых графических форматах, имеет определенные особенности. Давайте поговорим о них подробнее.

Macromedia Fireworks

Пакет создания Web-графики Macromedia Fireworks — в чем-то "коллега" Flash. Он тоже создает интернет-графику, но только традиционную, растровую.

Fireworks хранит свои рабочие документы в формате PNG. Как и Flash, Fireworks может объединять в одном документе и растровую, и векторную графику (гибридная графика). Это становится возможным из-за того, что формат PNG, помимо собственно растрового изображения, может хранить дополнительные данные (теги PNG), в которых и записывается вся векторная графика. Экспорт готового изображения выполняется в форматах GIF, JPEG и PNG; разумеется, при этом вся векторная графика растрируется.

Поскольку и Flash, и Fireworks разработаны одной фирмой, было бы удивительно, если бы они не поддерживали форматов друг друга.

При импорте документа Fireworks на экране появится диалоговое окно Fireworks PNG Import Settings (рис. 10.1).

Если мы сразу же включим флажок Import as a single flattened bitmap, Flash растрирует импортируемое изображение, переведя в растровый вид все его векторные фрагменты. Если этот флажок включен, все остальные элементы управления окна Fireworks PNG Import Settings станут недоступными.

Если же флажок Import as a single flattened bitmap не включать, изображение Fireworks будет импортировано без изменений. С помощью остальных элементов управления окна Fireworks PNG Import Settings мы можем задать дополнительные параметры импорта.

С помощью переключателей группы File Structure задается вид, в котором будет импортирована графика Fireworks. Переключатель Import as movie clip and retain layers, включенный по умолчанию, позволяет импортировать изображение Fireworks как отдельный образец-клип с сохранением всех его слоев. Переключатель Import into new layer in current scene заставляет Flash поместить изображение Fireworks прямо на рабочий лист во вновь созданный слой.

Переключатели группы Objects задают, в каком виде будут импортированы векторные примитивы Fireworks, не поддерживаемые Flash. Если включен переключатель Rasterize if necessary to maintain appearance, такие примитивы будут превращены в растровые изображения и благодаря этому сохранят свой вид в точности. Если же включен переключатель Keep all paths editable, Flash преобразует их в максимально похожие "свои родные" примитивы, возможно с некоторым искажением.

Переключатели группы Text задают те же самые параметры, что и переключатели группы Objects, но только для текста. Так, если включен переключатель Rasterize if necessary to maintain appearance, текст, содержащий преобразования, не поддерживаемые Flash, будет растрирован. Если же включен переключатель Keep all text editable, никакой растеризации выполняться не будет, в результате чего некоторые текстовые блоки исходного изображения могут исказиться.

Задав нужные параметры, следует нажать кнопку ОК. Чтобы отказаться от импорта файла Fireworks, нужно нажать кнопку Cancel.

Macromedia Freehand

Векторный графический редактор Macromedia Freehand версий 7-11 — одна из лучших программ создания сложной векторной графики. Файлы Freehand можно импортировать во Flash без особого труда и практически без потерь качества.

После импорта изображения Freehand на экране появится диалоговое окно FreeHand Import (рис. 10.2).

Группа элементов управления Mapping позволит нам задать действия, предпринимаемые Flash в отношении страниц и слоев изображения Freehand. Она в свою очередь содержит две группы переключателей, рассматриваемые ниже.

Группа переключателей Pages управляет импортом страниц. Переключатель Scenes заставляет Flash преобразовывать каждую страницу в сцену (Flash не поддерживает страниц), а переключатель Keyframes — в ключевой кадр. (О сценах и ключевых кадрах будет рассказано в главе 11.)

Группа переключателей Layers управляет импортом слоев. Переключатель Layers заставляет Flash преобразовать каждый слой FreeHand в собственный слой, переключатель Keyframes — в ключевой кадр, а переключатель Flatten указывает, что нужно поместить содержимое всех слоев FreeHand в один слой Flash.

Группа элементов управления Pages задает, какие страницы документа FreeHand должны быть импортированы. Если включить переключатель All, будут импортированы все страницы. Если выбрать второй переключатель, будут импортированы только страницы с номерами, указанными в полях ввода From (первая импортируемая страница) и То (последняя).

Флажки, расположенные в группе элементов управления Options, задают дополнительные параметры импорта графики FreeHand. Включение флажка Include Invisible Layers предписывает Flash импортировать все слои изображения FreeHand; если же этот флажок отключен, импортируются только видимые слои. Включение флажка Include Background Layer вызывает импорт также и фонового слоя FreeHand. А флажок Maintain Text Blocks, будучи включен, заставляет Flash преобразовать фрагменты текста из файла FreeHand в текстовые блоки.

Задав нужные параметры, нажмем кнопку ОК. Если мы передумали импортировать файл FreeHand, нажмем кнопку Cancel.

А теперь рассмотрим некоторые особенности, присущие импорту графики FreeHand, сопроводив рекомендациями, которые могут оказаться полезными.

□ Если графическое изображение, созданное во FreeHand, имеет градиентную заливку с более чем восемью цветами, Flash для ее имитации создаст несколько накладывающихся друг на друга заливок. Нужно учесть, что это может увеличить размер результирующего файла Shockwave/Flash, поэтому по возможности не следует использовать в исходном изображении FreeHand градиенты с более чем восемью ключевыми цветами.

□ Как мы уже знаем, Flash выполняет слияние и фрагментацию накладывающихся друг на друга примитивов. FreeHand же этого не делает. Поэтому импортированная во Flash графика FreeHand может быть искажена. Чтобы предотвратить слияние и фрагментацию фрагментов импортированного изображения, при рисовании его во FreeHand нужно будет разместить перекрывающиеся фрагменты в разных слоях.

□ При импорте изображений FreeHand углы линий будут скруглены.

□ При импорте черно-белого изображения FreeHand оно будет преобразовано в цветной формат, так как Flash не поддерживает черно-белую графику. Это может увеличить размер результирующего файла Shockwave/Flash.

□ Если при задании цветов изображения FreeHand был использован цветовой режим CMYK (Cyan, Magenta, Yellow, BlacK — голубой, пурпурный, желтый, черный), то такие цвета будут автоматически преобразованы в RGB.

□ Если изображение FreeHand содержит внедренные фрагменты в формате EPS, то перед импортом нам нужно будет установить флажок Convert editable EPS when imported на вкладке Import диалогового окна настройки FreeHand Preferences. Иначе Flash не сможет правильно отобразить такие изображения.

Adobe Illustrator и Adobe Acrobat

Flash позволяет импортировать файлы, созданные в Adobe Illustrator версии 6.0 или более ранних версий. Также мы можем импортировать электронные документы Adobe Acrobat, сохраненные в формате PDF (Portable Document Format, формат переносимых документов) версии 1.4 или более ранней.

Перед импортом графики Illustrator следует разгруппировать все сгруппированные фрагменты изображения на всех его слоях. Если этого не сделать, Flash не сможет правильно их обработать.

После импорта документа Illustrator или Acrobat на экране появится диалоговое окно Import Options (рис. 10.3).

Если мы включим флажок Rasterize everything в группе Options и выберем разрешение результирующего изображения в поле со списком Rasterization resolution, Flash преобразует изображение Illustrator или Acrobat в растровое.

Чтобы импортировать изображение без изменений, нужно отключить этот флажок.

Группа переключателей Convert pages to управляет импортом страниц. Переключатель Scenes заставляет Flash преобразовать каждую страницу в сцену (Flash не поддерживает страницы), а переключатель Keyframes — в ключевой кадр. (О сценах и ключевых кадрах будет рассказано в главе 11.)

Группа переключателей Convert layers to, доступная при отключенном флажке Rasterize everything, управляет импортом слоев. Переключатель Layers заставляет Flash преобразовывать каждый слой исходного изображения в собственный слой, переключатель Keyframes — в ключевой кадр, а переключатель Flatten помещает содержимое всех слоев исходного изображения в один слой Flash.

С помощью группы элементов управления Which pages to import можно указать, какие страницы документа Illustrator или Acrobat должны быть импортированы. Если включить переключатель All, будут импортированы все страницы. Если включить второй переключатель этой группы, будут импортированы только страницы с номерами, указанными в полях ввода From (первая импортируемая страница) и То (последняя).

Установкой флажка Include invisible layers группы элементов Options включается импорт всех слоев изображения; если флажок снят, импортируются только видимые слои.

Флажок Maintain text blocks группы Options, будучи включенным, заставляет Flash преобразовать фрагменты текста в импортируемом изображении в текстовые блоки. Этот флажок доступен при отключенном флажке Rasterize everything.

Задав нужные параметры, нажмем кнопку ОК. Если мы передумали импортировать документ Illustrator или Acrobat, нажмем кнопку Cancel.

AutoDesk AutoCAD

Flash позволяет импортировать чертежи и схемы AutoCAD версии 10.

При импорте графики в этом формате возможны некоторые проблемы. Давайте поговорим о них.

□ AutoCAD не поддерживает стандартные системные шрифты. При импорте Flash будет выполнять подстановку шрифтов, отчего возможно искажение текста.

□ AutoCAD не поддерживает создание заливок.

□ Flash не позволяет импортировать трехмерные чертежи и схемы AutoCAD — только двухмерные.

□ Все импортированные изображения AutoCAD, будучи помещены на рабочий стол, имеют размер 12×12 дюймов, независимо от заданного для них масштаба. Мы можем воспользоваться инструментом "трансформатор", чтобы увеличить или уменьшить их.

□ Flash позволяет импортировать только файлы AutoCAD, сохраненные в текстовом формате. Если они сохранены в двоичном формате, следует открыть их в AutoCAD и пересохранить в текстовом формате.

 

Работа с импортированной растровой графикой

 

Хорошо, мы импортировали изображение в документ Flash. И что теперь с ним делать?

Да практически все, что мы уже делали с другими фрагментами графики, в том числе образцами и экземплярами: перемещать, трансформировать, задавать цветовые эффекты, переименовывать и удалять из библиотеки. Есть, правда, несколько исключений, но они не очень принципиальны.

 

Особенности работы с импортированными образцами

Из главы 8 мы знаем, что импортированное растровое изображение преобразуется в образец-растровое изображение и помещается в библиотеку. Это значит, что мы можем поместить на рабочий лист сколько угодно экземпляров этого образца без опасения сильно увеличить размер результирующего файла Shockwave/Flash.

Кстати, при импорте растрового изображения Flash сохраняет в параметрах созданного образца-растрового изображения полное имя изначального файла, в котором это изображение хранится. Это нужно для того, чтобы предоставить нам возможность исправить этот файл прямо из среды Flash.

Что касается импортированного векторного изображения, то оно будет преобразовано в графический образец. Скорее всего, при этом в библиотеке также появится папка, содержащая множество других образцов-клипов, — там хранятся различные части этого изображения. Мы можем увидеть это, так сказать, воочию — достаточно импортировать в документ Flash любое достаточно сложное изображение FreeHand.

Бывает, что импортируемое изображение содержит и растровую часть, и векторные фрагменты (как, например, изображение Fireworks). В этом случае Flash поместит растровую часть в образец-растровое изображение, а векторные фрагменты — в графические образцы. Последние при этом будут помещены в папку.

Как работать с графическими образцами, мы уже знаем. Принципы работы с импортированными образцами примерно такие же, за тем исключением, что мы не сможем исправить их в среде Flash. Правка таких образцов выполняется другим способом, который мы сейчас рассмотрим.

Итак, чтобы исправить импортированный образец, выделим его в списке панели Library и выберем в контекстном или дополнительном меню пункт Edit with. После этого на экране появится стандартное диалоговое окно открытия файла Windows. Выберем в этом окне исполняемый файл нужной программы и нажмем кнопку открытия. Изначальный графический файл, в котором хранится выбранный нами образец, будет открыт в этой программе. Исправим его, сохраним и закроем программу, a Flash сам обновит в библиотеке соответствующий образец.

Если у нас на компьютере установлена программа Macromedia Fireworks, мы можем исправить растровый файл прямо в ней. Для этого нужно выбрать пункт Edit with Fireworks в контекстном или дополнительном меню панели Library.

В конце концов, мы можем исправить сам исходный файл изображения, использовав любую графическую программу, поддерживающую его формат. Недостатком такого подхода является то, что после правки необходимо будет обновить соответствующий образец в библиотеке вручную. Для этого нужно выделить его в списке панели Library и в контекстном или дополнительном меню выбрать пункт Update. На экране появится уже знакомое нам диалоговое окно Update Library Items (см. рис. 8.20). В этом окне включим флажки против нужных файлов и нажмем кнопку Update для запуска процесса обновления. После обновления образцов можно нажать кнопку Close, чтобы закрыть это окно.

Смена образца для выделенного экземпляра импортированного образца выполняется нажатием кнопки Swap панели Properties, выбором пункта Swap Bitmap подменю Bitmap меню Modify или пункта Swap Bitmap контекстного меню выделенного экземпляра. На экране появится диалоговое окно Swap Bitmap, похожее на уже знакомое нам окно Swap Symbol (см. рис. 8.9). Принципы работы с этими окнами аналогичны.

Импортированные растровые изображения мы можем использовать в качестве изображений-заливок для создания графических цветов. О графических цветах было подробно рассказано в главе 6.

 

Векторизация растровой графики

Иногда бывает нужно преобразовать импортированное растровое изображение в векторное (векторизовать его). Это может пригодиться, если мы захотим исправить импортированное растровое изображение прямо в среде Flash, не прибегая к другим программам. После векторизации растровое изображение будет разбито на отдельные графические примитивы, с которыми мы можем сделать все, что угодно.

Flash позволяет векторизовать только экземпляр образца-растрового изображения, но не сам этот образец. Выделим на рабочем листе нужный нам экземпляр и выберем пункт Trace Bitmap подменю Bitmap меню Modify. На экране появится диалоговое окно Trace Bitmap (рис. 10.4).

В поле ввода Color threshold задается числовое значение "разницы" между цветами. Если два соседних пиксела имеют цвета, различающиеся по значениям на число, меньшее, чем введенная "разница", они считаются одноцветными. Таким образом, чем больше значение "разницы" цветов, тем меньше будет цветов в результирующем векторном изображении. Допускается вводить значения от 1 до 500, значение по умолчанию — 100.

В поле ввода Minimum area указывается количество окружающих пикселов, которые будут взяты для определения цвета результирующего пиксела. Иными словами, это значение задает разрешающую способность системы векторизации Flash, и чем оно больше, тем меньше нюансов будет иметь результирующее изображение. Допускается вводить значения от 1 до 1000 пикселов, значение по умолчанию — 8 пикселов.

Раскрывающийся список Curve fit служит для задания точности передачи контуров результирующего векторного изображения. Доступны шесть пунктов, задающих точность от максимальной до минимальной: Pixel (Точность до пиксела), Very Tight (Очень точно), Tight (Точно), Normal (этот пункт выбран по умолчанию), Smooth (Приближенно) и Very Smooth (очень приближенно, сильно сглаженные контуры).

Раскрывающийся список Corner threshold задает степень сглаживания углов контура, который получится после векторизации. Здесь доступны пункты Many corners (контуры результирующего изображения будут содержать много углов), Normal (значение по умолчанию) и Few Corners (немного углов, сильно сглаженные контуры).

Задав нужные параметры, нажмем кнопку ОК. Если мы передумали векторизовать растровое изображение, нажмем кнопку Cancel.

Результат векторизации импортированного растрового изображения показан на рис. 10.5. Если внимательно присмотреться к нему, то можно заметить потерю качества. Так что лучше все-таки не векторизовать растровую графику без особой необходимости.

 

Разбиение растровой графики

Модификатор Magic Wand ("Волшебная палочка")

Если внимательно присмотреться к растровому изображению, находящемуся на рабочем листе, можно заметить, что оно состоит из множества частей, пикселы которых имеют одинаковый цвет. Так же думает и Flash. И, если его попросить, он может разделить это изображение на части — выполнить разбиение растрового изображения. После этого мы сможем очень просто перекрасить любую его часть в другой цвет, переместить его в другое место или вообще удалить с рабочего листа.

Чтобы выполнить разбиение растрового изображения (опять же, это должен быть экземпляр образца-растрового изображения, но не сам образец), сначала выделим его. После этого выберем пункт Break Apart меню Modify или контекстного меню растрового изображения или просто нажмем комбинацию клавиш +.

На первый взгляд, растровое изображение не изменится, но это только на первый взгляд. Давайте попробуем закрасить какую-либо его часть другим цветом. А для этого сначала нужно его выделить. И хорошо знакомая нам "стрелка" в этом случае не помощник.

Для выделения части растрового изображения нам понадобится инструмент "лассо". Выберем его и нажмем кнопку-выключатель Magic Wand, включающую модификатор "волшебная палочка":

После этого курсор мыши примет вид стилизованной волшебной палочки.

Для выделения части разбитого изображения достаточно просто щелкнуть на ней. Выделенная таким образом часть изображения показана на рис. 10.6. Если после этого щелкнуть на другой части изображения, она будет добавлена к выделению. А если щелкнуть на уже выделенной части, с нее будет снято выделение.

Теперь мы можем воспользоваться инструментом "ведро с краской" или селекторами цвета в панели Properties, чтобы закрасить выделенные части изображения. Также можно выбрать инструмент "пипетка", чтобы создать на основе разбитого на части изображения графический цвет.

Мы можем настроить параметры модификатора "волшебная палочка". Эти настройки выполняются в диалоговом окне Magic Wand Settings (рис. 10.7), которое появится на экране после нажатия кнопки главного инструментария:

В поле ввода Threshold задается числовое значение "разницы" между цветами соседних пикселов. Если два соседних пиксела имеют цвета, различающиеся на значение, меньшее, чем введенное в это поле число, они считаются одноцветными и попадут в одну выделенную с помощью "волшебной палочки" область. Таким образом, чем больше значение "разницы" цветов, тем больший диапазон цветов будет включать в себя выделенная часть изображения. Допускается вводить значения от 0 до 200, значение по умолчанию — 10.

Раскрывающийся список Smoothing служит для задания степени сглаживания контура, охватывающего выделенную область. Доступны четыре пункта, задающие точность от максимальной до минимальной: Pixel (Точность до пиксела), Rough (Грубые контуры), Normal (Значение по умолчанию) и Smooth (Плавные контуры).

Задав нужные параметры модификатора "волшебная палочка", нажмем кнопку ОК, чтобы их сохранить. Нажатие кнопки Cancel вызовет отмену введенных параметров и возврат к старым значениям.

 

Немного об авторских правах

Все в этом мире кому-то принадлежит (ну, почти все…). Земля, вода, воздушное пространство, недра, заводы, дома, дороги, машины, приборы, вещи, мысли, открытия, изобретения и многое, многое другое является чьей-то собственностью. Да что там — даже эта книга является совместной собственностью автора и издательства "БХВ-Петербург". И, хотим мы или нет, этот закон приходится учитывать в повседневной жизни.

Он всесилен и в компьютерном мире. Тексты, изображения, программы, фильмы и музыка — все кому-то принадлежат. И этот "кто-то" требует соблюдения своих авторских прав, и зачастую весьма жестко. За нарушение его прав вполне реально получить на свою голову массу неприятностей.

Из этого следует один очень важный вывод. Прежде, чем позаимствовать что-либо чужое для своего блага (картинку, фильм, фрагмент текста или звуковой клип), нужно обязательно выяснить, как к этому отнесется владелец. Часто владелец относится к этому весьма демократично, но вполне вероятно, что нам придется хорошенько его попросить, пойти на некоторые уступки, а то и заплатить деньги за право использовать какое-то из его творений.

Обычно сведения об авторских правах на опубликованные на сайте тексты, изображения, программы или фильмы даются в нижней части главной страницы этого самого сайта или в специальном разделе. Если же эти тексты и изображения распространяются на компакт-дисках, авторские права описаны в особом файле, называющемся Copyright.txt. Если же текст или изображение является частью какой-либо программы, нам нужно будет обратиться к диалоговому окну сведений о программе или поискать в справке. Там описано, что разрешено делать с этим интеллектуальным богатством, а чего лучше не делать.

Всегда следует читать раздел авторских прав! Уж не стоит, наверно, говорить, что нарушение их чревато судебным преследованием — в России было немало таких прецедентов. В конце концов, воровать нехорошо — это вам скажет любой воспитанный человек. И будет прав.

 

Что дальше?

Вот мы и узнали, как импортировать во Flash-документ графику, созданную в другой программе. Теперь наши документы украсятся красивыми растровыми картинками… Нужно только следить, чтобы размер результирующего файла Shockwave/Flash сохранялся в разумных пределах.

Что ж, на этом разговор о создании статичной графики во Flash 8 закончен. Следующий шаг — освоение процесса создания анимации. Давайте добавим "жизни" нашим застывшим картинам, заставим их двигаться! Благо, во Flash это делается до того просто, что грех не воспользоваться этим удивительным пакетом.