учебники, программирование, основы, введение в,

 

 

Введение

Что такое технология Flash
На тот случай, если вы не знаете (или знаете весьма смутно), что означает слово Flash на обложке книги, мы в двух словах это поясним. Flash МХ - это система для создания векторной анимации, имеющая достаточно развитые возможности программирования. Поскольку формат Flash стал стандартом и поддерживается всемираспространенными браузерами (в первую очередь, из-за его великолепной компактности и отличной переносимости), Flash в настоящее время используется не только для анимации, но и для интерактивныхприложений и даже в качестве пользовательского интерфейса для сложных веб-ориентированных систем.
Как вы, без сомнения, догадываетесь, одним из самых употребительных слов в этой книге будет слово Flash. Так вот, чтобы не перегружать текст латиницей и сделать Flash MX для вас столь же родным, каким он сталдля авторов книги, мы будем, как правило, писать слово Flash по-русски: Флэш или Флэш МХ (последнийслучай - это когда мы хотим подчеркнуть, о какой версии Флэш идет речь). А название Flash MX - латиницей - будем употреблять в основном в тех случаях, когда нам покажется уместным более официальный тон.
Для кого предназначен этот курсНаш курс лекций ориентирован на программистов. Сейчас Флэш стал достаточно мощной технологией,чтобы делать на ней крупные проекты. Крупные для Флэш - это, конечно, не проекты масштаба предприятия,а проекты, в которых занят десяток дизайнеров, делающих однотипные вещи. Этих дизайнеров нужно "пасти". Позаботиться о повторном использовании компонентов и об их расширении. Для этого такие общие компоненты надо написать и наладить коллективную работу с ними. Для подобной деятельности нужен опытный программист.Если так случилось, что этот программист - вы, то вам понадобится познакомиться с технологией Флэш. Вамнужно будет хотя бы в общих чертах представлять ее рисовательно-анимационные возможности. И максимальноподробно - возможности программирования и организации коллективной работы. Для улучшения уровня подготовки дизайнера эта книга тоже может пригодиться - но только как дополнительное чтение. Посему в дальнейшем вас, читатель, я буду считать профессиональным программистом. А поскольку в наши дни довольно трудно найти профессионального программиста, который не знал бы либо С++, либо Java, то мы будем считать, что вы один из этих языков знаете. (Зубры ассемблера и Fortran, простите нас!)
Есть небольшая вероятность, что эта книга попадет в руки начальнику крупного флэш-проекта. Если этот начальник - вы, и проект еще не начался, послушайте нашего совета и не назначайте ответственным за технические вопросы самого опытного и искушенного дизайнера, если он прежде не работал программистом. Вы наверняка знаете, что для начальника проекта проект на пятьдесят человеко-месяцев - совсем не то же самое, что на пять. Поверьте, что с технической точки зрения разница тоже велика. Раньше проекты такого рода на Флэше не делались - технология была еще недостаточно разработана и применялась для создания отдельных анимационных модулей. Теперь на Флэше можно делать мощные интерфейсы, большие порталы (как бы ни ворчали на это те, у кого нет широкополосного соединения), современные обучающие продукты, объемистые игры и многое другое. Флэш эволюционирует в сторону программной системы общего назначения. И хотя по этому пути ему еще идти и идти, сейчас есть масса задач, для которых необходимо совмещение качественной векторной анимации с развитой бизнес-логикой. Независимо от того, делается ли проект полностью на Флэш МХ или же бизнес-логику, выполненную на другой платформе (скажем, J2EE) надо сопрягать с интерфейсами на Флэше - нужен опытный программист, который ранее сталкивался с подобными задачами. Вполне возможно, что тандем программиста и дизайнера в качестве архитекторов флэш-части проекта будет наиболее успешным. Есть лишь одна проблема: большинство профессиональных программистов имеют о Флэше довольно смутное представление. Но это не беда. Программисты любят учиться. Совместными усилиями мы сможем преодолеть эти трудности.
В этой книге наиболее подробно описана версия Flash MX. В процессе подготовки книги к печати появилась версия Flash MX 2004. Она очень сильно расширена в первую очередь в сторону поддержки крупных проектов (крупных для Флэша). Тем не менее, информация по версии МХ все еще актуальна. Во-первых, многие компании работают с лицензионным программным обеспечением и еще не купили себе последнюю версию. Во-вторых, переход на новую версию - это всегда дело достаточно длительное. А начинать проект на инструментарии, который еще не изучен до конца, - дело рискованное. Так что, если ваши дизайнеры еще не перешли на версию МХ 2004, то и вам придется работать с тем, что есть. Многие советы по поводу Флэш МХ будут актуальны и для Флэш 5; но что для него годится, а что нет - об этом специально упоминать не будем. На сегодняшний день Флэш 5 уже бесспорно устарел.
Развитие "крупно-проектной" составляющей Флэш по версиям можно охарактеризовать следующим образом. В версии 4 можно было кое-как сделать кое-что. В версии 5 кое-что уже можно было сделать, как следует. В версии МХ кое-как уже можно было сделать все, что необходимо. Похоже, что в версии MX 2004 практически все уже можно сделать, как следует. Впрочем, совершенства, как известно, нет в этом мире. А мы уж постараемся, чтобы после прочтения этой книги вы смогли максимально снизить дозу "кое-как" в ваших проектах на Флэш МХ.
Кому еще наш курс может быть интересен
В предыдущем параграфе мы попытались рассказать о том, какая непосредственная польза от курса может быть получена. Однако польза - это даже в нашем материальном и меркантильном мире не единственный мотив познания. В конце концов, в программисты идут в первую очередь потому, что программировать интересно. Так вот, мы надеемся, что этот курс будет интересен программистам, которые любят изучать разнообразные языки. Несмотря на несомненное родство с Java и С++, ActionScript 1.0 (язык, встроенный в среду Флэш МХ) - весьма интересный и необычный язык. Чего стоит одно только прототипное наследование, на котором построена объектная модель языка. За счет отсутствия строгого контроля типов язык становится весьма гибким, несмотря на достаточно скромный набор языковых средств. И позволяет эмулировать даже такие сложные вещи, как множественное наследование (которого многим не хватает в Java). Да, конечно, есть язык, который чрезвычайно на ActionScript похож - это JavaScript. Оба они сделаны на основе стандарта ECMA-262. Но многие ли программисты (из которых практически каждый написал сотню-другую строк на JavaScript) пользовались этим языком "на полную катушку"? Скорее всего, большинство из них и не подозревали о множестве скрытых в нем возможностей. Как не подозревали об этих возможностях и авторы данной книги до того, как познакомились с системой Флэш МХ. Так что, если вы хотите познакомиться с еще одним языком программирования (или поглубже вникнуть в него, если вы неплохо знаете JavaScript), - эта книга может вас заинтересовать.
Кстати, даже если вы работаете с Flash MX 2004, ваши знания ActionScript 1.0 не пропадут даром. Во-первых, вы можете скомандовать среде Флэш МХ 2004 использовать при компиляции ActionScript 1.0 вместо ActionScript 2.0 (правда, это помешает вам использовать ряд встроенных компонентов). Кроме того, большая часть сведений, касающихся ActionScript 1.0 для ActionScript 2.0 также актуальна, просто во второй версии появились новые средства, которыми рекомендуется пользоваться вместо старых. (Последняя фраза касается в первую очередь объектной модели). Тем не менее, полной обратной совместимости между версиями языка нет; поэтому в МХ 2004 обратная совместимость реализована при помощи переключения используемой при компиляции версии ActionScript.
Принципы построения курса
При написании курса мы старались помнить, что пишем отнюдь не справочник. Поэтому простого перечисления фактов здесь не будет. С другой стороны, нам хотелось ответить на те вопросы, которые рано или поздно возникают у программиста при знакомстве с такой технологией как Флэш МХ. Однако отвечать на вопросы до того, как их зададут - вещь малополезная. Поэтому в нашем курсе вы практически всегда будете сначала узнавать нечто, провоцирующее вопросы, а уж затем доберетесь до ответов. Разбор головоломок (с целью посмотреть, что же там внутри), как известно, один из наиболее эффективных методов обучения. Если вам такой метод не по душе, и вы хотите сразу добраться до ответов - читайте стандарт ECMA-262, на основе которого сделан язык ActionScript, используемый во Flash MX. Три версии этого стандарта вы можете найти, например, по такому адресу: http://www.mozilla.org/js/language/ (читать лучше последнюю, третью версию; и не забывайте, что некоторые вещи из тех, что есть в стандарте, не реализованы в ActionScript). Если вы привыкли читать стандарты языков, вполне возможно, что вы получите пользу от этого занятия (после чего вы сможете пропустить в нашем курсе лекции 2, 4, 5, 6 и 7). На самом же деле мы уверены, что наш курс даст вам более концентрированную информацию, причем в форме, куда более пригодной для усвоения. Только не удивляйтесь, что мы иногда начинаем подробно и с примерами разбирать вопросы, ответ на которые, казалось бы, можно дать одной строкой. Поступайте как с головоломками: если вы уже догадались, каков ответ, проверьте сразу, правы ли вы, и переходите к следующей.
А теперь, когда мы подробно описали достоинства нашего курса, перейдем к его недостаткам (которые мы, разумеется, тоже считаем достоинствами). Итак, недостает в нашем курсе информации, совершенно необходимой для дизайнера, но, как мы полагаем, совсем ненужной для программиста. А именно, информации о способах, приемах и инструментах, позволяющих создавать на Флэше все эти замечательные анимации, которые то и дело мешают нам бороздить просторы Internet. Если вы не только программист, но и художник - вам понадобится еще одна книга по Флэш МХ, на сей раз построенная стандартным способом и подробно рассматривающая все аспекты деятельности аниматора. В списке литературы вы найдете несколько таких книг. Мы же со своей стороны снабдим программистов исчерпывающей информацией по программному рисованию на Флэше. И еще неизвестно, кто же в результате - программист или аниматор - победит в этом художественном споре.
Зависимости между лекциями
Лекции с первой по пятую являются безусловно необходимыми для понимания последующего материала. (Впрочем, если вы немного знакомы с тем, что собой представляет Флэш МХ, первую лекцию можно не читать. Однако при этом вы рискуете пропустить ряд важных тонкостей, например, встраивание шрифтов при работе с текстовыми полями). Лекции 6 и 7 совершенно необходимы для понимания главы 8, но не очень необходимы (хотя и весьма желательны, особенно глава 6) для чтения дальнейшего материала. Все последующие главы, за исключением лекций 13 и 14, практически независимы друг от друга. А вот для понимания довольно большой части четырнадцатой лекции надо будет изучить тринадцатую.
Теперь давайте обсудим, чем именно наш курс отличается от другой литературы по Флэш МХ. Во-первых, мы старались уделять максимальное внимание глубине изложения материала. Во-вторых, в курсе содержится и такая информация, которую читатель вряд ли сможет найти где-либо еще. В первую очередь это касается содержимого лекций 5, 7, 8, 10 и 13. Сейчас мы поясним, что конкретно в каждой из этих лекций читатель сможет найти только в нашей книге.
В лекциях 5 и 7 подробно описаны различные необычные ситуации, связанные с работой функций и с наследованием соответственно. В лекции 10 детально рассматриваются математические аспекты работы градиентных заливок и кривых Безье во Флэш МХ. В лекции 13 представлены разработанные авторами методики командной работы (автоматического обновления библиотечных компонентов и др.) в проекте, разделяющемся на "библиотечную" и "дизайнерскую" части.
Предметом особой гордости авторов является лекция 8, посвященная множественному наследованию. Фактически, в ней описано полноценное расширение языка ActionScript 1.0, применяемого в системе Флэш МХ (расширение это реализовано, разумеется, средствами самого ActionScript). Заинтересованные читатели могут попробовать перенести это расширение на очень близкий к ActionScript 1.0 язык JavaScript.

Среда разработки Flash MX

Но начнем мы, несмотря на все наши заверения о пренебрежении к анимационной части Флэш МХ, именно с нее. Очень краткое, на несколько страниц, введение в эти аспекты среды Флэш МХ, является безусловно необходимым. Иначе вы не будете знать, к чему же может быть применен ваш код, чем он сможет управлять.

Что представляет собой "рисовательная часть" Flash MX

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

Векторный редактор Флэш

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

Клипы и линейка времени

Теперь давайте условимся о терминологии. Мы будем называть флэш-роликом готовый откомпилированный swf-файл (который можно запустить в броузере или внешнем флэш-плеере).
Все, что нарисовано в готовом флэш-ролике - так или иначе нарисовано внутри клипов (хотя клипы бывают и невидимыми). В каком-то смысле клип является минимальной порцией "нарисованного материала", с которой можно обращаться как с целым: двигать, поворачивать, менять прозрачность и порядок наложения (z-order).
Вообще-то клипы могут быть довольно большими, в частности, содержать в себе другие клипы, а те, в свою очередь - еще какие-то клипы и т.д.
Каждый клип содержит в себе так называемую "линейку времени" (Timeline). В процессе редактирования клипов эту линейку можно увидеть и "пощупать" - она расположена над окном редактирования и представляет собой "зебру" из маленьких прямоугольничков, вытянутых в цепочку слева направо.

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

Символы и экземпляры (instances) клипов

Символы и экземпляры - это очень важная концепция, поэтому мы будем говорить о ней минимум трижды с разным уровнем детализации. Пока ограничимся следующей информацией: говоря о клипе, можно говорить о его символе (аналог класса) и об экземпляре (аналог объекта класса). То есть каждому уникальному клипу соответствует свой символ; но можно сделать множество экземпляров клипа, порожденных одним и тем же символом. Список всех символов клипа можно посмотреть в панели "Library", которая выдвигается на поверхность по нажатию Ctrl+L.

Пишем "Hello, World!"

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

Пользовательский интерфейс среды Флэш МХ

Интерфейс среды Flash MX состоит из набора панелей. Если вы зайдете в раздел главного меню - Window, то увидите полный перечень панелей, каждую из которых вы можете убирать и снова устанавливать.
Самая экзотическая панель - панель Timeline ("линейка времени"). Экзотическая - потому что такой и в помине нет в других программах работающих с векторной или растровой графикой, но не создающих анимацию. Скажем, в программе CorelDRAW, (вероятно, вы этот пакет, как минимум, "видели издалека"), имеется "окно документа", во Флэш к "окну документа" следует отнести панель Timeline ("линейку времени") и рабочее поле, т.к. они неразрывно связаны друг с другом. Сейчас мы это продемонстрируем, написав эту сладостную фразу "Hello, World!", которая всегда знаменует наше вступление в новую и загадочную область программирования.
Чтобы было не так скучно, давайте, играя с этой фразой, создадим простейший флэш-ролик, а по ходу его создания мы вас познакомим со средой Флэш МХ.
Вот краткий сценарий предлагаемого ролика. Сначала фраза "Hello, World!" увеличивается в своих размерах, затем уменьшается и превращается в надпись "Hello, Flash!". Через секунду - это снова "Hello, World!", но в тоже время, это еще и кнопка, нажав на которую, можно перейти в другой кадр, где нашу многострадальную надпись проглотит зубастое чудовище.
Надеемся, что вы поймете, что на такое обращение с ритуальной фразой нас подталкивает не только стремление быть оригинальными, но и богатые возможности Флэш МХ.
Произведем следующие действия. Слева на вертикальной панели Tools кликните на инструменте Text Tool (кнопка с буквой А). В дальнейшем подобные последовательности будем записывать так: "Tools \ Text Tool". Теперь кликните в любом месте рабочего поля и введите для пробы несколько символов. Допустим, сейчас на рабочем поле вы видите нечто маленькое и невразумительное. Возможно, что маловат масштаб, в котором показывается рабочее поле, или установлен очень маленький шрифт. Сначала давайте увеличим масштаб, в котором показывается рабочее поле. Для этого нам понадобится панель Edit Bar. Вот наши действия для Флэш МХ 2004, если панель Edit Bar еще не подключена: Главное меню \ Window \ Toolbars \ Edit Bar. Панель должна появиться сразу же под закладкой с именем вашего ролика. Во Флэш МХ эта панель постоянно находится над рабочим полем. Справа на этой панели расположено окошко выпадающего списка (сombo box), в котором устанавливается масштаб рабочего поля. Давайте выставим там значение 100%.
Если стало не намного лучше, придется увеличить шрифт. Для этого нужно взглянуть на панель Главное меню \ Window \ Properties, далее будем писать короче: "Properties", ведь мы уже знаем, где можно разыскать все панели. Полное название панели Properties Inspector. Вполне возможно, что она у вас уже имеется где-то в главном окне, и возможно уже развернутая, если нет, то разверните ее, кликнув на любом месте свернутой панели, а еще точнее, по зоне серого цвета.
Это просто замечательная панель, на ней мы можем увидеть и изменить массу характеристик того, что выделено на рабочем поле. В данный момент выделенным является введенный нами текст. В центре панели имеется комбо-бокс (выпадающий список), где мы видим, какой шрифт был применен, а чуть правее находится окошко (элемент редактирования), где можно выставить размер шрифта. Также можно воспользоваться для этого ползунком, который появится, если нажать на кнопочку, расположенную справа от окошка. Поставьте шрифт побольше, например, 20, и наконец-то, давайте напишем: "Hello, World!". Написали? Теперь нажмите Ctrl + Enter, так запускается Test Movie (Главное меню \ Control \ Test Movie). Сейчас в окне предварительного просмотра вы видите желанную фразу - это перед вами первый и единственный кадр флэш-ролика, который мы, таким образом, создали. Закроем окно просмотра, кликнув на нижнем крестике, вверху справа (но не на том, что закрывает среду Флэш, а пониже). Мы снова окажемся в главном окне Флэш. Взгляните на панель Timeline. На ее правой части имеется длинный ряд цифр - это нумерация кадров и сейчас, как видим, выделен первый кадр. Оказывается, то, что мы сейчас видим на рабочем поле - это содержание выделенного первого кадра. Правда, больше-то кадров и нет.
Хотя фраза "Hello, World!" и написана, но что-то полного удовлетворения нет... ах да, конечно, мы ведь не написали ни строчки программного кода, а ритуал требует именно этого.

Сценарий ролика

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

Создадим еще одиннадцать ключевых кадров, в которых мы заставим нашу надпись увеличиться, а затем уменьшиться - это будет демонстрация примитивной анимации и снова, извините, без кодирования. Почему именно двенадцать кадров мы отвели на эту анимацию? Это было сделано для того, чтобы при скорости двенадцать кадров в секунду, а именно такая скорость установлена по умолчанию, вся анимация заняла ровно секунду - нам кажется, что это как раз то время, за которое можно успеть что-то разглядеть. При желании эта скорость может быть изменена. Делается это, например, вот так: нужно дважды кликнуть на панели Timeline, посередине ее, в нижней части, там, где в окошечке есть надпись, подобная следующей: "12,0 fps", а затем в появившемся окне Document Properties выбрать элемент редактирования называющийся "Frame rate", в котором и можно изменить скорость. Кстати, в этом окне есть еще немало весьма важных установок, определяющих наш флэш-ролик.

Затем надпись "Hello, World!" в тринадцатом кадре мы программно заменим другой - "Hello, Flash!", а через секунду она снова превратится в надпись "Hello, World!" - это произойдет в 25 кадре. Далее превратим ее в кнопку, которая при нажатии на нее будет перемещать нас в 26 кадр (а вообще-то, таким образом можно было бы перейти в любой кадр, не обязательно следующий).

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

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

 

Делаем простую анимацию, связанную с текстом

Итак, приступим к выполнению намеченной программы. Чтобы создать второй кадр, на панели Timeline выделим второй кадр, кликнув мышкой, на "зебровидной" линейке, пониже длинного ряда цифр. Сделаем этот кадр ключевым (Keyframe), т.е. таким, содержание которого не зависит от предыдущих кадров (это упрощение). Для этого пройдемся по такому пути: Главное меню \ Insert \ Keyframe, кстати, можно пользоваться всплывающим меню, для этого кликните правой кнопкой мышки на этом втором кадре. Можно также просто выделить нужный кадр и нажать F6. На рабочем поле ничего не изменилось, но, тем не менее - это второй кадр, просто, все что было в первом кадре, показывается и во втором, а далее мы уже можем начать менять, дополнять или вообще все сотрем.
Идем дальше. Выделим надпись "Hello, World!". Спрашивается, а как это сделать? А вот так: в верхнем левом углу панели Tools имеется инструмент Selection Tool, вот им и воспользуйтесь. Теперь давайте зайдем на панель Properties и увеличим размер шрифта на 10 единиц. Как это сделать, чтобы текст не обрезался границами текстового поля? Нужно сначала выбрать на панели Tools инструмент Text Tool и, кликнув на надписи, увеличить длину зоны, в которой будет располагаться увеличенная надпись, причем с запасом, не стесняясь, т.к. вплоть по шестой кадр мы с каждым кадром будем увеличивать шрифт на 10 единиц. Затем снова нужно выбрать инструмент Selection Tool, выделить им надпись и вот только теперь увеличить размер шрифта. Эту однообразную операцию проделайте вплоть до кадра шестого, в котором размер шрифта надписи достигнет 70 единиц, в седьмом кадре пусть тоже будет 70 единиц, а начиная с восьмого - уменьшайте шрифт тоже на 10 единиц в каждом кадре и тогда в двенадцатом кадре размер шрифта снова будет равен 20 единицам. Запустите Test Movie; вы сможете убедиться, что у нас получилась настоящая анимация. (Кстати, просмотреть последовательность кадров - без выполнения программного кода, который мы пока и не писали - можно непосредственно в том же окошке где происходит редактирование клипа. Для этого нужно нажать просто Enter, а не Ctrl+Enter. Но в дальнейшем мы не будем пользоваться этим приемом - нам-то, как правило, нужно будет смотреть именно на то, как работает программный код.)
Итак, результат мы получили. Конечно, можно было добиться того же, применив программирование, но зато какая наглядная демонстрация качеств панели Timeline при минимальных усилиях! (Надо сказать, что количество действий можно было радикально сократить, применив некоторые специфические анимационные приемы. Но эти приемы мы не будем обсуждать в нашей книге, ибо они все равно гораздо подробнее описаны в любой книге по Флэш для дизайнеров). Как бы то ни было, мы можем констатировать, что пункт первый программы действий нами выполнен.

Ключевые и обычные кадры

Прежде чем мы пойдем дальше, мы должны сделать акцент на одной очень важной вещи. А именно, следует хорошо представлять себе, как сделать обычный кадр, а как - ключевой, и чем они друг от друга отличаются. Чтобы не испортить начатую анимацию, можно поэкспериментировать с кадрами в отдельном документе. Итак, если вы выделите любой пустой кадр и нажмете F5 (или выберете Insert Frame из контекстного меню или меню Insert), то линейка времени от ближайшего заполненного кадра и до выделенного закрасится серым. Это означает, что анимация продлена до выбранного места. При этом и рисунок, и код, и анимационные эффекты соответствуют тем, что выбраны в ближайшем ключевом кадре слева. Если вы начнете редактировать что-то в тот момент, когда вы находитесь в обычном кадре - помните, вы просто редактируете ключевой кадр, из которого этот обычный сделан. Поскольку мы с вами не занимаемся анимационными эффектами, обычные (не ключевые) кадры мы будем применять только в случае, когда надо "потянуть время" - то есть когда в данном клипе ничего не происходит.
Если же вы хотите создать ключевой кадр - жмите F6 (или выбирайте соответствующий пункт меню из контекстного меню или меню Insert). Все нарисованные объекты из предыдущего кадра будут скопированы в новый, но, если вы станете в новом кадре их изменять, то в предыдущем кадре ничего не изменится. Что же касается кода (который мы вот-вот начнем писать), то код во Флэше обязательно привязывается к кадрам (по крайней мере, в редакторе). Так вот, код из предыдущего кадра во вновь созданный ключевой, разумеется, не копируется.
Нужно еще обратить внимание на то, что если на линейке времени между последним уже созданным кадром и вновь создаваемым ключевым имеется свободное пространство (где кадров раньше не было), то оно заполняется обычными (не ключевыми) кадрами.
А теперь вернемся к нашей анимации и продолжим выполнять намеченную программу действий.

Добавляем программный код

Сделаем ключевым кадр 13, снова выделим надпись и зайдем на панель Properties. В верхнем левом углу есть сombo box (он же - выпадающий список), где сейчас, скорее всего, установлен тип текста "Static text". Давайте поставим: "Dynamic text", что даст нам возможность программно изменять текст в данной, выделенной на рабочем поле, области. Ф в элементе редактирования Var (это внизу, справа), напишем слово hello. Таким образом, мы создали переменную hello, в которой сейчас находится символьная строка "Hello, World!". (Пока что мы не будем обсуждать, где создана эта переменная, какой у нее тип и какова область видимости. Но в свое время мы обязательно до этого доберемся). В программном коде для тринадцатого кадра, мы собираемся присвоить переменной hello другое значение, например, "Hello, Flash!".
Терпение, еще немного. Теперь давайте перейдем на панель Actions (можно нажать F9). Если вы работаете с Флэш МХ, то вам нужно установить режим "Expert Mode", а если вы работаете с Флэш МХ 2004 - вы и так в этом режиме. На правой части панели имеется горизонтальная линейка меню, а нам нужна крайняя правая кнопка этого меню: "View Options". Воспользовавшись ею, и установите этот, так нужный нам, "Expert Mode". Теперь хорошо бы проверить, что написано в combo box, расположенном ниже названия панели. Во Флэш МХ там должно быть следующее: "Actions for Frame 13 of Name Layer Layer 1", а для случая Флэш МХ 2004 подобную информацию можно получить, изучив дерево на панели, расположенной внизу слева на панели Actions, а еще точнее - самый верхний элемент называющийся: "Current Selection". Другими словами, нужно убедиться, что код, который мы напишем, будет относиться именно к тринадцатому кадру.
Под уже, упоминавшейся горизонтальной линейкой меню имеется окно текстового редактора, где давайте и напишем следующее:

hello = "Hello, Flash!";

           

Теперь взгляните на панель Timeline, в выделенном прямоугольнике тринадцатого кадра, наверху появилась маленькая буквочка "а", что означает, что к этому кадру имеется какой-то код. Чтобы иметь возможность полюбоваться на надпись "Hello Flash!" в течение одной секунды, вслед за тринадцатым кадром нужно ввести одиннадцать точно таких же кадров. Это делается так. Правой клавишей мышки кликнем на "зебровидной" полосе панели Timeline и на всплывающем меню выберем пункт "Insert Frame". И так одиннадцать раз подряд. Конечно, можно и быстрее. Кликните по "зебре" левой мышкой и, не отпуская ее, протяните выделение до 24 кадра, а потом уже щелкайте по выделенному полю правой клавишей и выбирайте пункт "Insert Frame" (или нажимайте F5). Обратите внимание, мы вставляли не ключевые кадры, а обычные (regular) кадры, которые повторяют содержание предыдущего ключевого кадра.

Добавляем интерактивность

Теперь превратим нашу надпись в кнопку. Это мы сделаем в 25 кадре, который следует сделать ключевым. Но прежде давайте уменьшим зону, отведенную под написание текста, при помощи инструмента Text Tool. Далее выделим надпись (кстати, чтобы воспользоваться инструментом Selection Tool, можно просто нажать клавишу "V"; обратите внимание на всплывающие подсказки на панели Tools). Зайдя на панель Properties, изменим свойство надписи "Dynamic Text" снова на "Static Text". Если этого не сделать, наша кнопка будет вести себя несколько загадочно, а это нам ни к чему. Затем, кликнув правой кнопкой мышки по надписи, вызовем всплывающее меню. Выберем пункт Convert to Symbol, а затем в разделе Behavior выберем режим Button. Если предложенное нам название нас устраивает (Symbol 1), а оно нас устраивает - нажимаем кнопку "OK". Вот теперь можно написать код, который будет выполняться при нажатии на нашу надпись-кнопку. Заходим на панель Actions. Так как надпись-кнопка была выделена, на заголовке панели будет написано "Actions - Button". Напишем следующий код:

on (press) {

gotoAndPlay("last");

stop();

}

           

Упрощенно говоря, этот код означает, что если произошло событие "press", то нужно перейти к кадру, называющемуся "last", выполнить его и остановиться. Кадр "last" может находиться в любом месте флэш-ролика: до 25 кадра и после 25, его номер может быть любым и изменяться в процессе проектирования десятки раз из-за вставок и удаления других кадров, но если вы его имя не меняли, в процессе проигрывания флэш-ролика он будет найден и выполнен. В нашем простеньком примере он будет следующим за 25 кадром и последним в ролике, за что и получил название "last".
Учитывая все только что сказанное, выделим на панели Timeline 26 кадр, сделаем его ключевым, перейдем на панель Properties и в окне редактирования Frame (это верхний левый угол панели) напишем "last".
Таким образом, мы уже начали выполнять третий пункт нашей программы. Однако не будем слишком увлекаться: мы ведь оставили несколько недоделанной нашу надпись-кнопку. Возвращаемся в 25 кадр, выделяем надпись, кликнем на ней правой клавишей мышки, в всплывающем меню выберем пункт "Edit". Вот теперь мы находимся в таком окне редактирования нашей надписи, в котором мы можем изменять ее "кнопочные" свойства.
Не помешает несколько осмотреться: куда это нас закинуло. В общем-то, все знакомо, но панель Timeline совсем другая. Имеется только четыре кадра. Первый - естественно, ключевой, иначе нельзя, а вот что-то меняя в следующих трех кадрах, нужно не забывать делать их ключевыми. И еще одно небольшое отличие появилось. Прямо над рабочим полем, рядом с надписью "Scene 1", теперь имеется надпись "Symbol 1". Чтобы вернуться на прежнее рабочее поле, т.е. в сцену 1, необходимо кликнуть на надписи "Scene 1", но это мы сделаем потом, а пока что продолжим редактировать нашу надпись-кнопку.
Давайте снова посмотрим на Timeline. Пожалуй, начнем пояснения с 4 кадра, который называется Hit. В нем можно обрисовать зону, достигнув которую, курсор мышки приобретает вид руки с вытянутым указательным пальцем, а сама кнопка приобретает такой вид, какой имеется в кадре Over. Естественно, все это будет при проигрывании готового ролика. Если, находясь в этой зоне, мы нажмем правую клавишу мышки - кнопка приобретет вид, который нарисован в кадре Down. Первый кадр называется Up - в нем мы видим кнопку такой, какой она будет, если мышка вне зоны, обозначенной в кадре Hit.
Теперь будем действовать. Кадр Up оставим без изменений. Выберем кадр Over, сделаем его ключевым, выделим надпись, а затем, выбрав на панели Tools инструмент "Free Transform Tool", растянем надпись немножко по вертикали. В кадре Down, пользуясь этим же инструментом, поверните надпись на 90 градусов. Не забудьте сделать этот кадр и следующий кадр Hit, ключевыми. В кадре Hit давайте сделаем следующее. На панели Tools выберем инструмент Oval Tool и нарисуем такой круг или овал, который бы закрывал надпись; пусть он будет закрашенный. Все, кнопка готова. Теперь нужно вернуться от редактирования кнопки к редактированию основной сцены. Для этого под линейкой времени надо отыскать серую полосу, на которой расположены имена клипов, редактируемых вами сейчас.
Например, надпись

Scene 1    Clip 1    Clip 5

означает, что вы редактируете Clip 5, который  является частью Clip 1, который, в свою очередь,  лежит на Scene 1. Так вот, вам надо щелкнуть мышью  на надписи 2 и вы тут же вернетесь к ее редактированию.

Заканчиваем анимацию

Ну что ж, еще немного, и можно будет смотреть кино. Хотя нет: мы снова кое-что забыли. Видите ли, кнопку-то мы сделали, но воспользоваться ею мы не сможем, ибо как только мы попадем на 25 кадр и мельком увидим кнопку, как тут же перейдем на 26 кадр и нажать на нашу, созданную таким кропотливым трудом кнопочку, мы не успеем. Значит нам нужно в 25 кадре "остановиться, оглянуться".
Чтобы все происходило так, как нам надо, следует выделить на панели Actions 25 кадр и, убедившись, что на титульном поле панели написано: "Actions - Frame", написать в текстовом редакторе следующий код:

stop();

           

Возвращаемся на 26 кадр. Давайте нарисуем на правом краю рабочего поля, напротив надписи "Hello, World!", чудище с широко открытой зубастой пастью. Для рисования следует взять Tools \ Pencil Tool, а в разделе Options (этот раздел находится в самом низу панели Tools) выбрать Ink, т.е. выбрать такой режим рисования линии, когда не происходит ни сглаживания нарисованной линии (опция Smooth), ни ее выпрямления (опция Straighten); при опции Ink, как нарисовали - так и будет. Хорошо бы это чудище закрасить. Возьмите для этого инструмент Paint Bucket Tool. Обратите внимание на раздел панели Tools, который называется Color, а в нем, в свою очередь есть опция Fill Color, там вы подберете подходящий цвет заливки. Еще ниже имеются опции, где, нажав на левую пиктограммку, желательно выбрать модификатор Close Large Gaps. Вот теперь можно кликнуть по чудищу курсором, дабы оно залилось все выбранным вами цветом.
Нарисовали? Теперь превратим чудище из набора графических примитивов в клип. А точнее, сделаем на основе этой графики символ типа Movie Сlip и его экземпляр. Выделите чудище целиком, кликните на нем правой кнопкой мыши, на всплывающем меню выберите пункт Convert to Symbol, а затем в разделе Behavior выберите режим Movie Clip и нажмите OK. На панели Properties в верхнем левом углу присвойте нашему клипу имя - в том элементе редактирования, где в угловых скобках написано: "Instance Name". Хорошо бы его назвать kuzdra, помните знаменитую фразу: "Глокая куздра штеко будланула бокра и кудрячит бокренка"? Мы подозреваем, что нарисованное вами чудище чем-то похоже на эту куздру. Так и напишите kuzdra, без кавычек.
Нажмите F9, чтобы зайти на панель Action, и, убедившись, что вы действительно на панели "Action - movie clip", напишите следующий код:

onClipEvent (mouseDown) {

this._x -= 15;

}

           

Все! Готово! Нажимайте Сtrl+Enter. Ваш ролик самостоятельно будет проигрываться 2 секунды, а затем вы сами сможете с ним поиграться. Нажмите на надпись "Hello World!", справа вы должны увидеть вашу куздру, которая на каждый клик правой клавишей мышки в любом месте экрана, в том числе и на кнопке, должна передвигаться на 15 пикселов влево. Так, кликая мышкой, можно довести куздру до самой надписи, пока надпись не скроется в ее пасти. Может получиться и так, что надпись не будет закрываться куздрой, а окажется поверх нее, тогда надо предпринять следующее: зайти на 26 кадр, выделить надпись, и выполнить команду Modify \ Arrange \ Send to Back (того же самого можно добиться, нажав Ctrl+Shift+Down). В результате поменяется надпись переместится на задний план. Также для упорядочения наложения объектов можно было воспользоваться механизмом слоев. Новые слои удобно создавать при помощи самой левой из маленьких кнопочек снизу на панели Timeline (всплывающая подсказка скажет про нее: "Insert Layer"). Так что мы могли нарисовать куздру на слое 2, а, так как каждый новый слой автоматически помещается над предыдущим, то все что нарисовано на новом слое, закрывает то, что находится на нижних слоях. Точнее, перекрывать что-либо могут только расположенные в слоях рисунки, пустые же слои абсолютно прозрачны и не закрывают ничего.
Ну, вот, наконец-то мы выполнили 3 пункт нашей программы. Переходим к пункту четвертому.

Movie Explorer

Давайте посмотрим на структуру ролика. Бросим взгляд на проделанную работу с такой высоты, чтобы можно было охватить все разом.
Для этого воспользуемся панелью Movie Explorer, попасть на которую можно, нажав комбинацию клавиш Alt + F3. (ниже показан возможный вид этой панели - не для созданной нами анимации про куздру, а для другого простого клипа).
И посмотрите только, какая красота открывается нашему взору! Здесь можно увидеть все, что есть "за душой" у каждого кадра. Конечно, если вы видите только одну надпись - Scene 1, наши восторги вас удивляют. В таком случае, нажимайте последовательно на кнопки расположенные вверху панели, правее надписи Show, и перед вами постепенно возникнет поистине живописная картина. Кадры, слои, объекты, текстовые поля, фрагменты кода - все содержимое вашего ролика представлено в виде аккуратной древовидной структуры, все интересующие элементы которой вы можете рассмотреть максимально подробно.
Без панели Movie Explorer не обойтись, если вам нужно разобраться в чужом ролике. В этом случае особенно удобно то, что структуру ролика, представленную в виде дерева, можно распечатать. Для этого кликните правой клавишей мышки на той части панели, где изображено дерево (кстати, она называется Display List), и в самой нижней части всплывающего меню выберите пункт Print. Помимо этого пункта, в появившемся всплывающем меню имеется масса других столь же полезных, большую часть которых вам стоит изучить самостоятельно. Мы же, боясь утомить вас излишней опекой, коснемся только двух.
Если вы выделили на Display List какой-то участок дерева, то пункт первый - Go to Location - перекинет вас на рабочее поле соответствующего кадра. Если же вы выделили строку типа "Actions for Symbol 2" и у вас была открыта панель Actions, то, выбрав пункт Go to Location, вы тут же сможете корректировать код соответствующий именно Symbol 2. Между прочим, все можно ускорить, если просто дважды кликнуть правой клавишей мышки по интересующему вас участку дерева - это действие соответствует выбору пункта Go to Location.
А вот еще один интересный пункт меню - Find in Library. Выделите строку дерева, где написано Symbol 1, а теперь выберите этот пункт. Вы оказались в библиотеке, где имеется всего два символа, но зато они сотворены вашими руками, более того, экземпляры ваших символов вы можете перетаскивать на рабочее поле прямо из библиотеки в любом количестве. Если вы захотите что-либо отредактировать в символе, то достаточно дважды кликнуть на нем - и вы окажетесь в окне редактирования. Все изменения, которые вы произведете в символе (образце), отразятся на всех экземплярах, в то время как изменения, произведенные в каком-либо экземпляре, никак не повлияют ни на символ, ни на остальные экземпляры.
И последнее, о чем просто нельзя не упомянуть: прямо на панели Movie Explorer вы можете изменить текст в любом кадре или же тип шрифта этого текста.

Меню редактора кода и справочник

С редактором Actions, в котором во Флэш МХ пишут код (вообще-то не всегда, так как есть возможность размещать код в подключаемых файлах - см. лекцию 2) вы уже немного познакомились. Давайте теперь освоим его более детально.

Разные способы открыть редактор кода

Как это ни странно, таких способов действительно довольно много. Первый из них - это нажать F9. Панель редактора откроется на текущем кадре. Если к этому кадру привязан код, то в редакторе он покажется. Второй способ - это выделить кадр в линейке времени, нажать на этом кадре правую кнопку мыши и в контекстном меню выбрать Actions. Опять-таки, откроется панель редактора. Кстати, если панель уже открыта, вы можете выделить другой кадр на линейке времени, и редактор покажет его код. Чтобы содержимое редактора не менялось при изменении текущего кадра, вы можете нажать на изображение канцелярской кнопки в правом верхнем углу панели редактора. Наконец, открыть эту панель можно и из меню Window, так же, как и любую другую панель.

Меню редактора Actions

В редакторе Actions есть две очень полезные вещи. Первая - с левой стороны его находится узкая вертикальная полоса с древообразной структурой внутри. Эта структура - список всех возможных функций, объектов и компонентов Флэш МХ. Если вы развернете какой-либо пункт до конца и щелкнете дважды по "листу" дерева - соответствующий листу текст добавится в редактируемый код. Если же нажать на "листе" правую кнопку мыши и выбрать пункт View Reference - запустится Reference (иногда этого приходится пару секунд подождать). Только имейте в виду, что если, выделив тот "лист" для которого вы хотите посмотреть справку, вы затем щелкнете на поле ввода редактора (и тем самым переместите туда фокус ввода), а потом правой кнопкой мыши все-таки щелкнете на оглавлении и вызовете справку, вы будете удивлены. В этом случае Reference попытается показать справку по ближайшей лексеме, найденной в редакторе (а не в оглавлении!). Скорее всего, эту справку он не найдет и в своем окне сообщит, что справка к данному слову не найдена. Впрочем, панель Reference также имеет слева древовидное оглавление, и вы можете найти там нужный пункт вместо того, чтобы возвращаться в панель Actions и повторять вызов справки более корректным образом.
А теперь про вторую исключительно полезную вещь в панели редактора кода. Это не что иное, как меню этого самого редактора. Меню, в котором расположены команды поиска и замены, установки цветовой схемы для подсветки элементов синтаксиса (в пункте Properties) и многое другое. Всего этого вы, как ни странно, не найдете в главном меню Флэш МХ, а найдете только в собственном меню редактора. Расположено оно также в правом верхнем углу панели редактора и открывается по нажатию кнопки, изображающей список. Вообще-то, подобное "личное" меню есть у каждой панели, но именно в панели Actions оно нам более всего пригодится.

Самые полезные пункты Reference

Самым популярным разделом, безусловно, является раздел Objects. В нем особенно важны Core и Movie, а в Objects / Core первое место, несомненно, держит Array. Массивы во Флэше имеют богатую функциональность, и вам нередко придется заглядывать в этот пункт, дабы в очередной раз проверить, какой из методов - slice или splice - вам надлежит применить в данной ситуации; а также, в какую сторону сдвигает массив метод shift, а в какую - unshift. На первых порах вам также нужно будет часто заглядывать в Objects / Core / String и Objects / Core / Object.
Еще один важный раздел Reference - это Actions. Загляните в Actions / Variables и Actions / Miscellaneous. Если вы все-таки решите сделать какую-то рисованную анимацию, вам пригодится раздел Actions / Movie Control (не путайте с Actions / Movie Clip Control - в последнем речь идет о дублировании клипов, реакции на мышь и пр.). Наконец, поначалу вам будет весьма интересен раздел Operations - вы найдете там несколько новых операций, которые не встречаются ни в Java, ни в C++ (подробнее об этом - в следующей лекции).
Не забывайте также, что в справочнике есть индекс, так что можно искать какие-либо вещи не по разделам, а в алфавитном порядке.
К сожалению, в панели Reference нет возможности поиска, но это не является принципиальной проблемой. Если вам нужен поиск, вы можете запустить html-справку, нажав F1. В ней есть поиск, а, кроме того, очень полезные разделы Using Flash и Tutorials. Также в раздел Tutorials html-справки можно попасть, открыв панель Answers и выбрав в ней пункт Tutorials.

 

 

 

 

 

Компиляция и запуск

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

Запуск в среде

Данный вариант запуска самый быстрый, простой и удобный для отладки. Выберите Control / Test Movie (Ctrl+Enter), ролик будет автоматически скомпилирован и открыт для проигрывания во встроенном флэш-плеере. На приведенном ниже рисунке изображено то, что вы увидите, если ваш ролик состоит из одного-единственного синего эллипса. А еще точнее, картина будет именно такой, если после нажатия Ctrl+Enter вы выберете в меню View пункт Bandwidth Profiler, потому что длинное информационное окно, описывающее процесс загрузки ролика по сети и расположенное (в режиме просмотра ролика) непосредственно под главным меню, по умолчанию выключено. О том, что означает выводимая в этом окне информация, мы напишем подробно в лекции 14; пока скажем лишь, что эта информация касается размера (в байтах) ролика в целом и каждого его кадра в отдельности, а также того, какое время занимает загрузка (ролика и каждого из кадров) по каналу с заданной пропускной способностью. Запустив свой ролик в среде Флэш МХ вы также получаете доступ к двум полезным командам: List Objects и List Variables из меню Debug. Первая из них распечатывает дерево клипов, имеющихся в вашем ролике, вторая - список переменных каждого из клипов. Может показаться, что вместо первой из этих команд можно воспользоваться панелью Movie Explorer (Alt+F3 при работе в окне редактирования ролика), но это не так. Дело в том, что Movie Explorer может показать только клипы, созданные статически, а мы с вами вскоре научимся создавать клипы динамически (в процессе вып олнения флэш-программы).
Для того чтобы вернуться к редактированию флэш-ролика, можно просто закрыть открывшееся окно, либо воспользоваться меню Window для переключения в окно редактирования ролика.
Обратите внимание, что все сообщения об ошибках, а также результаты работы операторов trace будут выводиться в специальное окно вывода, закрыть или открыть которое можно, нажав клавишу F2. В это же окно выводятся и результаты работы команд List Objects и List Variables (учтите, что при выполнении этих команд предыдущее содержимое окна стирается). Если вы закроете это окно, его содержимое опять-таки будет стерто и при его повторном открывании окно появится пустым.
Недостатки запуска в среде:

необходимость перекомпиляции при каждом запуске;

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

 

Запуск в отдельном плеере

Допустим, у вас уже есть скомпилированный ролик (.swf-файл) и вы хотите его проиграть. Просто откройте этот файл (например, с помощью Windows Explorer). Будет запущено отдельное приложение (Standalone Flash Player), в котором и проиграется ваш ролик.
Недостатки:

невозможность проигрывать ролик в "реальных" условиях (с веб-страницы, с соответствующим html-шаблоном);

отсутствие возможности отладки.

 

Запуск в браузере

Пользуйтесь данным типом запуска, если хотите посмотреть на работу ролика с веб-страницы. Выберите File / Publish Preview / Default (Ctrl+F12). Флэш-среда откомпилирует ролик, после чего откроет новое окно браузера с запущенным роликом. Html-файл будет сгенерирован автоматически или по шаблону (см. ниже).
Недостатки:

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

запуск ролика занимает больше времени.

 

Что такое projector, форматы публикации

Как мы уже писали, в процессе установки Флэш МХ на ваш компьютер будет установлен консольный (standalone) плеер, который позволяет запускать *.swf-файлы отдельно от среды разработки и браузера. Двойной клик на *.swf-файле приведет именно к запуску консольного плеера. Однако Флэш МХ предоставляет возможность запуска флэш-роликов отдельно от среды разработки или браузера, причем даже на машине, где консольный плеер не установлен. Делается это путем создания из вашего ролика *.exe-файла, называемого флэш-projector. Projector содержит внутри себя как ваш ролик, так и флэш-плеер, и поэтому является совершенно автономным. Создать projector можно из произвольного *.swf-файла, запустив его в консольном плеере и выбрав из меню File пункт Create Projector. Кроме того, можно сгенерировать projector одновременно с публикацией флэш-ролика. Публикацией называется действие, в процессе которого происходит не только компиляция *.swf-файла, но и генерация html-страницы, а также, возможно, ряда других файлов (в том числе - projector). Чтобы инициировать публикацию вашего ролика, нажмите Shift+F12, или же из меню File выберите пункт Publish. По умолчанию при публикации создаются только *.swf и *.html-файлы, но вы можете изменить эту ситуацию. Для этого из меню File выберите пункт Publish Settings и отметьте форматы файлов, которые вам нужны. Если для данного формата можно установить дополнительные настройки - при его выборе появятся дополнительные закладки (перейдя на которые вы и сможете нужные настройки отредактировать). Большинство дополнительных файлов - это статическая картинка, которая соответствует первому кадру (но можно сделать и динамический *.gif). Однако среди этих вариантов есть и опция "создавать Windows Projector" - она-то вам и нужна. Также есть возможность сделать projector для Macintosh - в этом случае Windows-версия среды Флэш МХ создает архив в формате BinHex (с расширением hqx), в котором и хранится нужный файл. Архив делается по той причине, что файловая система FAT, в которой, разумеется, должна корректно работать среда Флэш МХ, не поддерживает файлы с несколькими "потоками данных" (forks), что является обычным делом для Macintosh. Впрочем, скорее всего, вам ни разу не придется делать projector для Macintosh.

 
На главную | Содержание | < Назад....Вперёд >
С вопросами и предложениями можно обращаться по nicivas@bk.ru. 2013 г.Яндекс.Метрика