Введение

В развитии Flash 5 произошел качественный скачок. При переходе от версии Flash 3 к версии Flash 4 ActionScript из небольшого набора операций превратился в популярный язык сценариев. Сегодня, с выходом версии Flash 5, ActionScript явил себя вполне сформировавшимся объектно-ориентированным языком сценариев. Редактор ActionScript по-прежнему поддерживает удобный для начинающих разработчиков режим ввода сценариев с помощью мыши, причем в новой версии при выборе языковых конструкций можно использовать перетаскивание. Можно сказать, что редактор сценариев ActionScript стал еще легче в освоении и удобнее в работе. С другой стороны, опытные программисты получили возможность набирать тексты сценариев вручную, вводя код с клавиатуры, как в любой традиционной среде разработки. Система Flash 5 позволяет разработчику выбрать те средства редактирования, которые ему наиболее удобны.

Flash 5 оставляет впечатление принципиально нового программного пакета. Редактор сценариев ActionScript теперь работает в двух режимах. В обычном режиме при вводе сценариев требуется двойной щелчок на именах операций либо перетаскивание необходимых конструкций и соответствующих параметров в поле редактора с текстом сценария. Если хотите, вы можете работать и «по старинке», щелкнув на кнопке со знаком + (плюс), чтобы открыть динамическое меню языковых конструкций, как это было в пакете Flash 4. Доступ к редактору сценариев осуществляется через кнопку Show Actions (Показать операции) в нижней части окна рабочей зоны. В системе Flash 5 поле редактора сценариев Action-Script является частью панелей Object Actions (Операции объекта) и Frame Actions (Операции кадра); изменилось и представление данных в редакторе. Вместе с тем новый редактор сценариев унаследовал большинство возможностей более ранних версий, и переход к работе с новой версией программы для опытных разработчиков не будет слишком сложным. Кроме того, теперь у вас появилась возможность значительно увеличить размер поля редактора сценариев (путем перетаскивания границы панели операций), что позволяет охватить весь сценарий одним взглядом. Экспертный режим работы редактора сценариев отличается предельной гибкостью. Вы можете набирать текст сценария вручную, как в обычном текстовом редакторе, но при этом вам будут доступны все средства ввода операций, имеющиеся в обычном режиме.

Назначение ActionScript

Однажды некий наивный дизайнер спросил меня: «К чему мне связываться с ActionScript, если я могу сделать все, что захочу, стандартными средствами Flash 5?» На самом деле он пользовался ActionScript, не понимая этого. Даже в простейших операциях перехода, таких как gotoAndPlay, используются команды ActionScript. Применение средств ActionScript в системе Flash 5 — это не один из возможных путей, это единственный возможный путь. Если у вас возникает потребность в использовании какой-то инструкции ActionScript, это значит, что без этой инструкции вам просто не обойтись. Средства ActionScript всегда тесно переплетаются с анимацией Flash, создаваемой без применения возможностей этого языка. Как-то раз в рамках одного из проектов я нарисовал ползунок, который собирался использовать в фильме, созданном без помощи ActionScript. Но выяснилось, что работать с этим ползунком как с элементом управления без соответствующего сценария ActionScript невозможно, и я сдался. Пришлось написать отдельный сценарий, обеспечивающий применение ползунка в качестве элемента управления, и связать его с определенным кадром фильма. Сценарии ActionScript работают в составе стандартного фильма Flash 5, они неотделимы от неге. Средства ActionScript не дублируют и не подменяют собой стандартные возможности Flash.

Наконец, некоторые задачи, допускающие «традиционное» решение с помощью встроенных средств Flash 5, можно решить намного легче и эффективнее, если использовать ActionScript. Скажем, в большинстве фильмов Flash присутствует такая трудоемкая и важная подзадача, как кадрирование — прорисовка промежуточных кадров при трансформации какого-либо объекта. Во многих случаях при этом необходима точная настройка определенных параметров движущегося объекта. Изменить значение переменной, свойства или объекта ActionScript в этом случае намного проще, чем вручную прорисовать все промежуточные кадры. Есть дизайнеры, которые не могут понять, каким образом их коллегам удается реализовать на Flash-сайтах сногсшибательную анимацию, прокрутку текста и великолепный интерактивный пользовательский интерфейс. Все дело здесь в хорошем дизайне и грамотном применении усовершенствованных средств ActionScript. Поскольку клиенты все чаще требуют, чтобы их сайты были «живыми» и симпатичными, а за счет этого — часто посещаемыми и в конечном счете конкурентоспособными, ActionScript играет в Web все более важную роль. Еще одно важное достоинство этого языка — наличие в нем средств обеспечения связи с серверными приложениями. Компании Macromedia удалось создать язык, который, будучи легким в освоении и применении, вместе с тем обладает возможностями, удовлетворяющими всем требованиям дизайнеров, и располагает средствами организации интерактивного интерфейса.

Для кого эта книга?

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

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

Кроме того, эта книга рассчитана на программистов, которые хотели бы включить язык ActionScript в свой арсенал. Во всех языках программирования и обработки сценариев есть целый ряд общих элементов, и ActionScript не составляет исключения. Программисты, знакомые с языками программирования, такими как Bade или C++, а также с такими языками сценариев, как JavaScript, с легкостью освоят и смогут применять ActionScript наравне с профессиональными дизайнерами фильмов. Особенно легким этот переход будет для пользователей языка JavaScript, так как обновленная версия ActionScript во многих аспектах совпадает с JavaScript. Впрочем, я убежден, что ActionScript превосходит JavaScript, поскольку у языка ActionScript нет такого разнообразия версий для различных браузеров, как у JavaScript. Вы можете создавать сценарии, которые будут одинаково интерпретироваться как системой Netscape Communicator, так и Microsoft Internet Explorer, В отношении объектно-ориентированной обработки данных ActionScript может дать хорошую фору языку JavaScript. Тем не менее между этими языками есть ряд существенных различий, и разработчик обязан знать, в чем они состоят и каким образом можно использовать сильные стороны ActionScript.

Наконец, эта книга будет полезна пользователям языка ActionScript в версии для пакета Flash 4. В новой версии языка практически удвоилось количество операций, система Flash 5 снабжена совершенно новым пользовательским интерфейсом; изменился механизм адресации, появились новые объекты, массивы, функции, операторы, а также возможность разработки пользовательских функций. Язык ActionScript в версии Flash 5 коренным образом отличается от предыдущей версии. Читателям, относящимся к этой группе, я рекомендую сосредоточиться на вопросах совместимости и усовершенствования средств языка. Как это всегда происходит при глобальных переменах, опытным разработчикам наверняка захочется совместить новые средства, появившиеся в пакете Flash 5, с хорошо знакомыми конструкциями Flash 4. Несмотря на то что человеку свойственно с большей симпатией относиться к тому, что он хорошо знает, я уверен, что вы по достоинству оцените новые возможности ActionScript, появившиеся в пакете Flash 5, и в конечном счете откажетесь в их пользу от устаревших конструкций. Наверняка вскоре у вас появится возможность убедиться в том, что работать над сценариями ActionScript в системе Flash 5 легче, чем в прежних версиях этого пакета. Язык ActionScript стал намного более мощным инструментом создания сценариев.

Практические советы

Если вы никогда не занимались программированием и не создавали сценариев обработки данных, объем информации, которую требуется усвоить, чтобы научиться работать с языком ActionScript, может подействовать на вас угнетающе. Однако нет никаких причин, чтобы пытаться выучить все средства Action-Script единым махом, особенно если ActionScript — первый язык программирования, который вы хотите изучить. Передозировка знаний опасна. Попробуйте разобраться в образцах сценариев и лишь затем попытайтесь слегка модифицировать их, а главное, старайтесь получать удовольствие от новых знаний. Уделяйте особое внимание таким деталям, как имена экземпляров клипов и имена переменных, связанных с текстовыми полями; не употребляйте в качестве имен переменных зарезервированные слова. Чтобы написать сценарий ActionScript, не нужно иметь диплом математика. Значительно важнее, чтобы вы не пытались забежать вперед, а продвигались в изучении ActionScript шаг за шагом. В отличие от других языков программирования и обработки сценариев большая часть кода на языке ActionScript содержится в коротких, несложных сценариях. Этот язык является модульным по своей сути, поскольку сценарии Action-Script привязаны к определенным кнопкам, кадрам и клипам.

Не нужно смотреть ни на язык ActionScript, ни на эту книгу как на заоблачную вершину, которую предстоит покорить, не имея соответствующего снаряжения. Это лишь своего рода путеводитель; представленные в нем «достопримечательности», безусловно, стоит посетить, но вы не обязаны это делать.

Способ подачи материала

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

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

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

В настоящей книге используются обозначения, принятые в документации к продуктам компании Macromedia. Исключение составляет лишь символ > , который будет использоваться в качестве разделителя команд меню и подменю. К примеру, запись Modify > Instance (Модифицировать > Экземпляр) означает, что вы должны сначала щелкнуть на пункте Modify в строке меню, а затем выбрать пункт Instance в открывшемся на экране списке команд. Клавиатурные соответствия основных команд меню я даю в двух вариантах: для платформы Windows PC и для Macintosh. Для клавиши Control на платформе Windows PC я использую сокращение Ctrl; сокращение Cmd соответствует клавише Command на Macintosh. На клавиатуре Macintosh есть клавиша Control, но чаще всего она используется в комбинации с единственной кнопкой мыши в качестве аналога правой кнопки на платформе Windows PC. Обозначение Alt применяется к клавиатуре Windows PC, а обозначение Option — к клавиатуре Macintosh.

На всем протяжении книги слои перечисляются в порядке, соответствующем их представлению в фильме, но иногда при их описании используется другая последовательность. В частности, слой Background (Фон), который всегда находится в конце списка слоев, во многих случаях является первым по времени создания. Я стараюсь рассматривать слои в том порядке, в котором они создаются.

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

Далее: Урок 1. ActionScript - источник энергии Flash