Интеллектуальные развлечения. Интересные иллюзии, логические игры и загадки.

Добро пожаловать В МИР ЗАГАДОК, ОПТИЧЕСКИХ
ИЛЛЮЗИЙ И ИНТЕЛЛЕКТУАЛЬНЫХ РАЗВЛЕЧЕНИЙ
Стоит ли доверять всему, что вы видите? Можно ли увидеть то, что никто не видел? Правда ли, что неподвижные предметы могут двигаться? Почему взрослые и дети видят один и тот же предмет по разному? На этом сайте вы найдете ответы на эти и многие другие вопросы.

Log-in.ru© - мир необычных и интеллектуальных развлечений. Интересные оптические иллюзии, обманы зрения, логические флеш-игры.

Привет! Хочешь стать одним из нас? Определись…    
Если ты уже один из нас, то вход тут.

 

 

Амнезия?   Я новичок 
Это факт...

Интересно

Платон (424/423 до н. э. – 348/347 до н. э.) полагал, что мельчайшие частицы вещества – малюсенькие прямоугольные треугольнички.

Еще   [X]

 0 

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript (Розенцвейг Гэри)

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.

Год издания: 0000

Цена: 110 руб.



С книгой «Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript» также читают:

Предпросмотр книги «Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript»

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

   Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.
   Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.


Гэри Розенцвейг Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Об авторе

   Со времени своего основания в 1996 году компания выпустила более 200 игр. Игры находятся в свободном доступе на указанных сайтах, вместе составляюших "Сеть CleverMedia". Лицензией на многие из данных игр обладают и другие сайты.
   Свой первый шаг в мультимедийном бизнесе Гэри сделал, получив степень бакалавра в области вычислительной техники в Дрексельском университете (Drexel University), штат Филадельфия. Интерес к издательскому делу привел его в университет Северной Каролины в городе Чейпл Хил, который он закончил со степенью магистра в области журналистики и средств массовой информации.
   В 1995 году Розенцвейг написал свою первую книгу по Macromedia Director Lingo, бесплатную версию которой можно найти в Internet. В 1996 году издательство Ventana опубликовало его книгу "The Comprehensive Guide to Lingo" ("Полное руководство по Lingo"), в следующем году была выпушена книга "The Director 6 Book". В 1999 году в издательстве "Que" вышла книга "Special Edition Using Director 7" ("Специальное издание по использованию Director 7"), вслед за ней "Special Edition Using Director 8" ("Специальное издание по использованию Director 8") и затем 8.5. После "Macromedia Flash 5 for fun and Games" Гэри написал "Sams Teach Yourself ActionScript in 24 Hours". Гэри выступал на многих конференциях Macromedia и конференциях разработчиков игр.
   В свободное время Гэри любит читать классическую фантастику, ходить в кино и путешествовать. Жена Гэри Дэбби (Debby) является владелицей букинистического магазина (http://www.atticbookstore.com/). Гэри и Дэбби живут в Денвере, штат Колорадо, вместе с кошкой Люси (Lucy) и собакой Наташей (Natasha).
Посвящение
   Я посвятил свою третью книгу «Special Edition Director 7» («Специальное издание по использованию Director 7») моей невесте Дебби Томпсон. Я хочу посвятиь эту, девятую написанную мной книгу, моей жене Дебби Розенцвейг.
   После того как я написал столько книг, она уже привыкла к тому, что я говорю, заканчивая очередную книгу. Обычно это что-то вроде: "Какой это все-таки ужасный стресс, никогда больше не соглашусь писать книги." Еще одна вещь, которую она привыкла слышать спустя несколько недель: "Угадай, что случилось? Я опять согласился написать книгу!"
   Дебби такая же неотъемлемая часть этой книги, как и я, хотя она и не написала ни одного слова. Я не смог бы написать эту книгу без ее постоянной любви и поддержки. Я люблю ее больше всего на свете.
Благодарности
   Мне бы хотелось поблагодарить мою жену Дебби, любительницу сразиться со мной в настольные игры на веранде и опробовать последние игровые новинки CleverMedia.
   Я признателен своей маме Жаклин (Jacqueline) и папе Джерри (Jerry), благодаря которым в детстве мой шкаф был всегда наполнен играми и которые никогда не выражали недовольство тем, что я слишком много играю в Atari.
   Мне бы хотелось выразить признательность моему брату Лэрри (Larry) за то, что он играл со мной, когда я рос, хотя был на несколько лет моложе меня и постоянно проигрывал.
   Спасибо моей бабушке, Ребекке Якоб (Rebecca Jacob), купившей мне первый компьютер. Неделю спустя я написал на нем первую игру.
   Мне бы хотелось поблагодарить моих тетю и дядю, Барбару (Barbara) и Ричарда Шифрин (Richard Shifrin), которые коллекционировали шахматы и научили меня побеждать в Risk.
   Я признателен Уильяму Фоллетте (William Follet), Брайену Роббинсу (Brian Robbins) и Джею Шефферу (Jay Shaffer) – моим друзьям и коллегам по работе в CleverMedia. Поработав с этими ребятами, понимаешь, что наибольшее удовольствие приносит разработка компьютерных игр, чем игра в них.
   Хотелось бы сказать спасибо моей родне со стороны жены, Тэйгу (Tage) и Энни Томсенам (Anne Thomsen), а также Андреа Томсену (Andrea Thomsen) за поддержку, оказанную во время написания этой книги.
   Я благодарю всех сотрудников издательства "Que", подготовивших книгу к печати: Кэнди Холл (Candy Hall), Лауру Норман (Laura Norman), Тома Хейза (Tom Hayes), Тоню Симпсон (Tonya Simpson), Марго Кэттс (Margo Catts), Криса Бэррика (Chris Barrick), Дуга Скэмэхорна (Doug Scamahorn), Синди Титерс (Cindy Teeters), Михаеля Хантера (Michael Hunter), Трину Варст (Trina Warst), Энни Джоунс (Anne Jones) и Вильяма Фоллета (William Follet).
Ждем ваших отзывов и пожеланий!
   Вы – читатель нашей книги – являетесь нашим самым главным критиком и советчиком. Мы уважаем ваше мнение и хотели бы знать, что нравится в нашей работе, что стоит улучшить, книги на какие темы следует публиковать, и будем рады получить от вас любой ценный совет.
   Присылайте ваши сообшения по электронной почте:
   ДМК Пресс: dm@dmkpress.ru
   Для получения более полной информации об этой книге и других, изданных Que, посетите наш Web-сайт на www.quepublishing.com. Напечатайте ISBN (исключая дефисы) или заглавие книги в поле поиска, чтобы найти интересуюшую вас страницу.

Введение

   Это второе издание «Macromedia Flash ActionScript for Fun & Games» («Macromedia Flash. Создание игр с помошью ActionScript»). В нем вы найдете материалы, представленные в первом издании, плюс некоторые усовершенствования и 12 новых игр.
   Книга знакомит с ActionScript, представляя много законченных программ. Каждая программа содержит определенные количество Action-Script-кодов, с которыми можно ознакомиться, изучить и изменить их. Эти программы представляют собой игрушки, безделушки и игры.
   Второе издание предназначено для работы во Flash 8. Несмотря на то, что многие игры из первого издания книги будут еше работать с Flash MX, желательно использовать Flash 8, если вы планируете с помошью этой книги изучить ActionScript.
   Хотя Flash MX была первой достаточно серьезной версией Flash, позволяюшей нам делать хорошие игры, базируемые на Web, Flash 8 намного лучше ее. Самое главное – Flash 8 гораздо быстрее ее предшественников. Это означает, что анимации в наших играх будут двигаться более плавно на большем количестве пользовательских компьютеров. Кроме того, теперь можно взяться за более сложные игры, создание которых было трудно реализуемо в предыдушей версии.
   Первое издание этой книги оказалось настолько удачным, что я не хотел вносить в нее много изменений. Поэтому вместо переделки книги я просто включил в нее дополнения. В конце каждой главы, с 5-й по 16-ю, есть новая игра, подходяшая по тематике и обычно строяшаяся на том, что было изучено в предыдуших играх главы.
   Я также усовершенствовал несколько игр для того, чтобы использовать преимушество некоторых новых возможностей Flash 8. Например, графическая программа в главе 7 "Игрушки-конструкторы" теперь использует графические команды Flash 8 вместо дублирования клипов. В некоторых случаях не имело смысла менять алгоритм работы программы, и я оставил игры с кодом, работаюшим как в версии 8, так и в версии MX.
Об этой книге
   Хотя программа Flash в качестве среды программирования только-только «достигла совершеннолетия», она уже давно известна как отличное средство для создания развлечений. Flash используется для самых разных целей, начиная с разработки дизайна Web-сайта и заканчивая созданием больших анимаций.
   ActionScript – это еше один аспект Flash, также связанный с развлечениями. Основная задача данной книги – обучить созданию игр при помоши Flash.
   В главе 1 "Инструменты Flash, используемые для создания игр" мы еше раз рассмотрим основы Flash, обрашая особое внимание на то, как различные инструменты этой программы используются для создания интерактивных приложений. Глава 2 "Введение в ActionScript" пригодится имеюшим большой опыт работы с Flash, но мало занимаюшимся программированием. Она также будет интересна тем, кто знает другие языки программирования, однако никогда не имел дела с ActionScript.
   Глава 3 "Элементы ActionScript для создания игр" рассматривает различные элементы и приемы ActionScript и демонстрирует, как с их помошью создавать игры и анимации. Данная глава содержит основные сведения, необходимые для дальнейшей работы с книгой. Из главы 4 "Процесс создания игры" вы узнаете о планировании и программировании игр.
   Оставшаяся часть книги, кроме последней главы, содержит примеры программ, в том числе их исходные тексты. Глава 5 "Создание визуальных эффектов", глава 6 "Игрушки и безделушки", глава 7 "Игрушки-конструкторы" описывают игрушки, которые предназначены для развлечения, но не обязательно являются игрой как таковой. В главах 8 "Игры типа "Найди и нажми"", 9 "Игры типа "Поймай или пропусти"", 10 "Игры типа "Прицелься и выстрели"", 11 "Игры с мячом и битой", 12 "Викторины и загадки со словами", 13 "Мозаика", 14 "Головоломки", 15 "Казино и карточные игры" и 16 "Аркады" описываются собственно игры.
   Каждый раздел глав 5-16 начинается с описания того, как была создана данная игра. Затем вы знакомитесь с моим подходом к ее построению. Далее дается обзор элементов, составляюших игру. В конце приводится текст программы игры с подробным разбором каждой ее части. Каждая глава заканчивается советами по усовершенствованию игры.
   В последней, 17-й, главе "Сложные приемы" вы изучите некоторые специальные приемы, такие как создание списка игроков, набравших наибольшее количество очков, и окна предварительной загрузки. И наконец, не пропустите содержательный список Web-ресурсов в приложении А "Ресурсы Internet для пользователей Flash".

Для кого предназначена эта книга

   Книга требует обдуманного изучения. Если вы не поняли что-то с первого раза, попробуйте перечитать объяснения еше раз, посмотрите пример на Web-сайте и поэкспериментируйте с данным приемом в Flash, прежде чем двигаться дальше. Это поможет вам более глубоко понять принципы функционирования ActionScript и его применения в других проектах.
   Данная книга предназначена для различных специалистов. Если на ней остановился ваш взгляд в традиционном книжном или Internet-магазине или вы взяли ее у друга, тогда, возможно, вы принадлежите к одной из следующих групп.
Аниматоры
   Будучи аниматором, вы уже используете Flash для создания линейной анимации. Вероятно, вы также знаете, как создать пару-другую кнопок. Эта книга перенесет вас в чудесный мир программирования на ActionScript. Вы научитесь помешать созданных вами анимированных героев и окружаюшую их обстановку в игрушки и игры.
Иллюстраторы
   Если вы художник-оформитель, не исключено, что вы работали во Flash или в другой векторной графической программе. Вы можете научиться рисовать во Flash 8, используя обучаюшие программы, предлагаемые самим редактором, а затем при помоши этой книги сделать так, чтобы ваши рисунки взаимодействовали с пользователем в игрушках и играх.
Программисты
   Возможно, вы программист, имеюший опыт работы с другими языками: Java, C++ или Lingo. Книга научит вас применять эти знания во Flash. Достаточно полный обзор основ ActionScript вы найдете в главах 1–3; если же вас интересуют исходные программы, переходите сразу к главе 5.
Программисты, работающие во Flash 3 и Flash 4
   Эта книга также подойдет программистам, работаюшим во Flash 3 и Flash 4 и желаюшим приобрести руководство, которое поможет им овладеть Flash 8. Между Flash 8 или Flash MX и более ранними версиями программы сушествует довольно много различий, что особенно заметно в командах и устройстве рабочего пространства. Для того чтобы действительно научиться работать во Flash MX, придется забыть многие приемы, используемые в предыдуших версиях, и начать учиться с нуля.
Владельцы домашних Web-страниц
   Может быть, вы и не специалист в области компьютерных знаний, но у вас есть своя домашняя страница и немного свободного времени для пополнения багажа ваших знаний. Flash 8 может служить относительно недорогим инструментом для улучшения вашего сайта. Возьмите любую понравившуюся вам игру из книги, немного измените графику и напишите свою собственную игру. Не ожидайте чудес, не уделив достаточно времени изучению основ Flash и материала глав с 1 по 4. Тем не менее способный ученик добьется успеха довольно быстро.
Профессиональные разработчики Web-сайтов
   Как профессиональный разработчик Web-сайтов вы, без сомнения, обладаете соответствуюшими практическими навыками и должны иметь не только обшее представление о HTML, таблицах стилей, JavaScript, Perl, программах Photoshop, Fireworks, Dreamwaver и т. п. Пакет Flash довольно быстро приобретает статус программы, которую должен знать любой разработчик Web-сайтов.
   Однако одного знания основ не достаточно. В конечном итоге с их помошью вам придется что-то создавать. Другие книги учат основам и затем предоставляют читателю возможность доходить своим умом до того, как складывать полученные элементы вместе для создания полноценных программ, а эта книга показывает ему, как составлять такие программы.
   Данная книга научит вас разрабатывать свои собственные программы с нуля или быстро создавать свою версию уже имеюшейся игры.
Студенты
   В настояшее время Flash преподается во многих колледжах и университетах. С увеличением интереса к Flash эта тенденция будет постоянно усиливаться. Книга может использоваться студентами в качестве практического пособия по изучению ActionScript. Если на занятиях вас обучают только основам Flash, используйте эту книгу, чтобы быть впереди всех. Но если вы уже проходите довольно сложные веши, книга будет хорошим практическим пособием.

Что вы должны знать

   При этом вы, также как и я, не обязаны быть профессиональным художником-графиком. У многих людей Flash ассоциируется только со способностями к рисованию. Это действительно было необходимо в более ранних версиях Flash, в которых графика была единственным инструментом, однако теперь Flash является еше и средой программирования. Таким образом, данная книга будет одинаково интересна и профессиональным иллюстраторам, и программистам.
   Но для начала вам необходимо:
   • знать основы Flash и уметь их использовать;
   Ф быть знакомым с содержанием обучаюших программ Flash 8;
   Ф уметь работать с главной временной шкалой, добавлять кадры и маркировать их;
   Ф уметь создавать клипы, кнопки и графические изображения. Они не должны быть первоклассными, вам просто нужно знать процедуру их создания во Flash.
   С другой стороны, некоторые смогут использовать эту книгу, даже если они никогда прежде не работали во Flash. Если вы – способный и усидчивый ученик, готовый с головой уйти в новый предмет до его полного изучения, данная книга позволит вам, быстро освоив основные приемы Flash, перейти к профессиональному программированию в ActionScript.

Чему вас научит эта книга

Изучение ActionScript
   Сушествует несколько способов применения данной книги, первый из них – изучение ActionScript. Эта книга ни в коем случае не является руководством для начинаюших, она научит вас использовать ActionScript для более сложных вешей.
   Вы освоите множество команд, функций и приемов, используюшихся в играх и других приложениях. Вы не только узнаете, какие функции они выполняют, но и увидите их в действии на примере реальных программ.
Создание игр во Flash
   Каждая программа, содержашаяся в данной книге, может считаться одной из разновидностей игр или частью игры. Даже если вы уже знакомы с ActionScript, книга научит использовать ваши знания для создания игр. В главе 4 я подробно расскажу о том, как создаются игры. Оставшаяся часть книги заполнена примерами.
Использование готовых игр
   Конечно, вы можете купить эту книгу, взять из нее исходные программы и создавать свои собственные игры. Вы можете, не меняя программы, опубликовать игры на вашем Web-сайте, однако вы наверняка захотите вначале придать им ваш собственный графический стиль.
   Имейте в виду, однако, что книга и содержашиеся в ней исходные программы предназначены для тех, кто заинтересован в изучении ActionScript. Не думайте, что вы сможете сразу же перейти к главе 16 и начать составлять программы. Возможно, у некоторых это и получится, однако большинство столкнется с трудностями, не изучив информацию глав 1-15.
   Глава 4 научит вас некоторым тонкостям переделывания уже готовых игр в ваши собственные. В каждой главе также содержатся предложения о том, что можно изменить в играх, чтобы они стали вашими собственными.

Web-сайт

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

Условные обозначения

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

Обновления и контактная информация

   Так или иначе, читатель может обнаружить небольшие несоответствия в некоторых программах. Также имеется вероятность того, что следующие версии или исправленные обновления Flash внесут некоторые изменения в Action-Script, что повлечет необходимость изменения данных программ. В этом случае я помешу обновления и исправления на специальный сайт, имеюший следующий адрес:
   Там содержится информация о книге для тех, кто еше не купил ее, обновления, ссылки на ресурсы и адрес, по которому вы можете посылать свои отзывы о книге.
Желаю приятного прочтения
   Я надеюсь, что из данной книги вы извлечете что-то полезное для своей карьеры, вашей компании или вашего Web-сайта. Но прежде всего я надеюсь, что книга вам просто понравится.
   Хотя многие покупают ее по профессиональным и образовательным причинам, не следует забывать, что она посвяшена играм, а игры – это способ развлечения. Надеюсь, что создание игр вам понравится гораздо больше, чем сам процесс игры.

Глава 1
Инструменты Flash, используемые для создания игр

   • Интерфейс Flash
   • Создание кнопок
   • Создание текста
   • Импорт мультимедийных элементов во Flash
   • Организация ролика
   • Подготовка ролика к публикации

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

Интерфейс Flash

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

Главное окно Flash

   Рисунок 1.1. Главное окно – основной элемент интерфейса Flash

   Для программиста на ActionScript одни элементы главного окна более важны, чем другие. В верхней части расположена временнбя шкала, в которой некоторые кадры помечены номерами 1, 5, 10 и 15. Сбоку временной шкалы находится панель управления слоями. В данном примере показаны два слоя: «Background» (Фон) и «Fox» (Лиса).
   Вы наверняка заметили, что кадры на временной шкале намного шире, чем обычно. Это связано с тем, что поле представления кадров было расширено при помощи кнопки Frame view (Отображение кадра), показанной на рис. 1.1. Существует еще несколько опций по управлению представлением кадров, например можно регулировать высоту каждого слоя (находится в свойствах слоя). Поэкспериментируйте с ними самостоятельно.
   Область рабочего поля главного окна может содержать любой элемент вашего ролика: графический образ, кнопку или клип.
   Изображение, показанное на рабочем поле главного окна, можно увеличить или сжать. Для этих целей предназначено всплывающее меню Scale (Масштаб), расположенное в левом нижнем углу главного окна, но для изменения масштаба намного удобнее пользоваться "горячими" клавишами. Нажатие клавиш Cntrl+2(PC) или Command+2(Mac) масштабирует рабочее поле так, чтобы оно вплотную занимало все свободное место в главном окне. Использование сочетания клавиш Cntr+3 или, соответственно, Command+3 масштабирует рабочее поле так, что в главном окне максимально распахивается область, содержащая все изображения, в том числе те, которые находятся на серой области вне пределов рабочего поля. Сочетание Cntr+1 (Command+1) возвращает рабочему полю масштаб 100 %. И наконец, использование командных клавиш в сочетании с + и – позволяет изменять текущий масштаб в два раза.
   Последнее, о чем хотелось бы здесь сказать, – кнопки Show/Hide (Показать/Скрыть) и Lock/Unlock (Заблокировать/Разблокировать). Эти функции чрезвычайно полезны тем, что позволяют отобразить отдельные слои или определенный набор слоев. Блокировка слоев позволяет без труда выбрать нужный вам объект, не внеся при этом случайных изменений в другой слой.

Панели

   Эти панели могут быть приведены к любому виду. Панели находятся каждая в своем окне, но можно отобразить сразу несколько из них в одном окне в виде закладок. Например, на рис. 1.2 показано окно, включающее панели Color Mixer (Миксер цветов), Color Swatches (Образцы цвета), Components (Компоненты) и Answers (Ответы). Только панель Color Swatches доступна к использованию.
   Рисунок 1.2. Это окно содержит четыре панели

   Вы можете изменить состав окна панелей, а также создать новое окно. Это осуществляется перетаскиванием панелей за левую, помеченную характерной «дырчатой» текстурой, часть титульного поля панели. Для того чтобы научиться перемещать панели, требуется немного практики. У вас всегда есть возможность вернуть исходные настройки, выбрав команду Window → Panel Sets → Default Layout (Окно → Наборы панелей → Расположение по умолчанию).
   Совет
   Необязательно перемещать панели между окнами панелей только потому, что у вас имеется такая возможность. Я нахожу расположение по умолчанию самым лучшим вариантом, которого и придерживаюсь. Это также удобно, если вам придется работать на другом компьютере, в этом случае вам не надо будет привыкать к какому-либо нестандартному расположению. Вы можете сохранить собственную конфигурацию панелей с помощью команды Window → Save Panel Layout. Сохраненные конфигурации доступны с помощью команды Window → Panel Sets.
   Панель Info, которую можно выбрать командой Window → Info, необходима для точного размещения объектов на рабочем поле. Выбрав объект, вы можете задать значения его координат (X и Y), а также его ширину и высоту (W и H).
   Панель Transform (рис. 1.3) можно выбрать командой Window → Transform. Эта панель позволяет изменять масштаб выделенного объекта и поворачивать его.
   Рисунок 1.3. Панель Transform позволяет изменять масштаб выделенного объекта и поворачивать его

   Еще одна панель, которую постоянно используют программисты на ActionScript, – Properties (Свойства). Эта панель (рис. 1.4) отображает информацию о выбранном в данный момент объекте: графическом символе, кнопке или клипе. С помощью этой панели вы можете менять различные свойства выбранных объектов. Например, ставить метки выделенным кадрам и присваивать имена клипам. Для того чтобы можно было программно обращаться к клипам, им необходимо присвоить имена.
   Рисунок 1.4. Панель Properties позволяет присваивать имена клипам

   Панель Properties (Свойства) позволяет присваивать имена (метки) кадрам. Как ни странно, вы можете сделать это в любом слое. Например, вы можете присвоить имя первому кадру, выделив его в верхнем слое, затем присвоить имя второму кадру, выделив его в следующем слое. Неправда ли, сбивает с толку? Я советую помечать все кадры в одном слое (обычно так и делают, называя этот слой, например, «labels»).
   Наиболее важным окном после рабочего поля как для программиста на ActionScript, так и для художника-графика, несомненно, является палитра Library (Библиотека). Панель на рис. 1.5 содержит растровое изображение, кнопку, папку, графический символ и клип.
   Рисунок 1.5. Палитра Library показывает, из каких элементов состоит ваш ролик

   Палитра Library показывает список различных элементов, составляющих ваш ролик. На первый взгляд элементы списка кажутся выбранными наугад. Например, графические образы, которые были нарисованы непосредственно на экране, не отображаются в палитре, даже если они были сгруппированы. Если же вы сохраните их как графический символ, они будут показаны.
   Логика здесь такая: библиотека хранит многократно используемые объекты. Любой символ[1], будь то клип, графический символ или кнопка, могут использоваться в одном или нескольких местах вашего ролика. Однако набор линий и заливок, нарисованных непосредственно на рабочем поле, может применяться только в кадре или наборе кадров на временной шкале.
   Включение эталона в библиотеку не означает, что он будет экспортирован вместе с роликом. Например, вы импортируете растровое изображение или звуковой файл, но не помещаете его на рабочее поле. Или же создаете клип и не используете его. В таком случае умная программа не включает этот объект в конечный сжатый swf-файл, что способствует уменьшению размера файла и его быстрой загрузке.
   Что делать, если элемент библиотеки не выложен на рабочее поле, а ваша программа его использует? Flash не будет отслеживать это и не включит данный элемент в конечный файл ролика.
   Для того чтобы заставить Flash включить в конечный файл кажущийся ему ненужным элемент библиотеки, установите связь с этим элементом в диалоговом окне Symbol Linkage Properties (Свойства связи символа) – см. рис. 1.6. Диалоговое окно можно вызвать из всплывающего меню Options (Параметры), расположенного в правом верхнем углу палитры Library (рис. 1.5).
   Рисунок 1.6. В диалоговом окне Symbol Properties можно указать, что объект должен быть включен в библиотеку для последующего экспорта в Action Script

Пункты меню

Меню File
   Меню File (Файл) включает стандартный набор команд, знакомый пользователям Macintosh и Windows. Наряду с командами Open (Открыть), Save (Сохранить) и Save As (Сохранить как) здесь присутствует также команда Import (Импорт), позволяющая импортировать в программу растровые изображения, векторную графику и звуковые файлы.
   Наиболее важной в меню File является простая команда Save, которой соответствует сочетание клавиш Command+S (Macintosh) и Ctrl+S (Windows). Советуем вам почаще ее использовать. Если после многочасовой работы без сохранения программа или компьютер дадут сбой, вы пожалеете о том, что не нажимали данное сочетание клавиш каждые пять минут.
   Совет
   К сожалению, Flash время от времени имеет обыкновение давать сбой, что приводит к потере всей вашей работы со времени последнего сохранения. Компания Macromedia регулярно поставляет новые, исправленные и усовершенствованные версии Flash. Обратной стороной такого стремительного развития программы является ее нестабильность. Тем не менее, если вы не будете забывать почаще сохранять вашу работу, возникающие сбои не испортят вам настроения.
   В меню File также находятся команды Publish (Публикация) и Publish Settings (Параметры публикации). Подробнее об этих командах вы узнаете в конце данной главы.
Меню Edit
   Меню Edit (Правка) включает обычные команды: Copy (Копировать), Cut (Вырезать) и Paste (Вставить). Команда Undo (Отменить) особенно полезна, так как с ее помощью вы можете отменить 100 последних действий, что является довольно значительной цифрой. Вы можете задать количество отменяемых действий, выбрав команду Edit → Preferences (Правка → Настройка).
   При выборе команды Preferences на экране появится диалоговое окно, показанное на рис. 1.7. Здесь вы можете не только указать число отменяемых действий, но и задать целый ряд настроек, упорядоченных в три отдельные вкладки. Что касается меня, я стараюсь придерживаться настроек по умолчанию, однако никогда не помешает знать, какие опции вам предлагаются. Обычно я меняю предлагаемый по умолчанию режим Normal (Обычный) на режим Expert (Эксперт), что позволяет мне набирать команды ActionScript непосредственно в окне редактирования сценария.
   Рисунок 1.7. Для того чтобы вызвать диалоговое окно Preferences, используйте основное меню, но его расположение зависит от вашей операционной системы

Меню View
   Меню View (Вид) позволяет изменять масштаб отображения рабочего поля и степень детализации отображаемых на нем графических элементов во время работы над роликом, а также использовать сетки и направляющие.
   Сетка пригодится для быстрого выравнивания элементов на рабочем поле в том случае, если вам важнее составить программу на ActionScript, а не найти лучший способ расположения графических объектов. Чтобы вызвать диалоговое окно Grid (Сетка), показанное на рис. 1.8, надо выбрать команду View → Grid → Edit Grid (Вид → Сетка → Редактировать сетку). Здесь вы можете задать масштаб сетки и ее цвет, указать, будет ли сетка отображаться на экране и будут ли к ней привязываться объекты. Диалоговое окно Grid позволяет быстрее задавать и отменять данные настройки, чем команды Show Grid (Показать сетку) и Snap To Grid (Привязать к сетке).
   Рисунок 1.8. В диалоговом окне Grid задаются цвет и другие настройки сетки

   Меню View включает команду Hide Panels (Скрыть панели), которую можно также выполнить простым нажатием на клавишу табуляции. При этом все панели, включая палитру Tools (Инструменты), будут моментально скрыты или отображены. Это удобно, если некоторые часто используемые панели закрывают рабочее поле, и вы хотите их скрыть, но так, чтобы в следующий раз они появлялись на том же самом месте экрана.
Меню Insert
   Меню Insert (Вставка) содержит две функции, полезные для программиста на ActionScript. Первая из них – команда Convert to Symbol (Преобразовать в символ), которая преобразует выделенные вами элементы в графический объект, клип или кнопку. Вновь созданный эталон включается в библиотеку, а также остается на рабочем поле на месте исходных элементов.
   При вызове данной команды на экране появляется диалоговое окно Symbol Properties (Свойства символа), в котором вы должны задать тип символа и назначить ему имя (рис. 1.9).
   Рисунок 1.9. Диалоговое окно Symbol Properties появляется на экране при выборе команды Insert → Convert to Symbol. Это же окно появится, если вы захотите изменить свойства уже существующего символа

   Команда Convert to Symbol позволяет создавать графические объекты, клипы и кнопки непосредственно на рабочем поле и затем добавлять их в библиотеку. Вы также можете использовать эту команду для создания символов внутри символов. Например, вы можете создать объект, похожий на кнопку, при помощи команды Convert to Symbol превратить его в кнопку, а затем, повторно используя данную команду, поместить кнопку в клип.
   Второй важной функцией меню Insert является набор команд, позволяющих добавлять кадры в главную временную шкалу. Чтобы добавить новый кадр, используйте команду Insert → Frame (Вставить → Кадр).
   Для добавления нового ключевого кадра во временную шкалу предназначены команды Insert → Keyframe (Вставить → Ключевой кадр) и Insert → Blank Keyframe (Вставить → Пустой ключевой кадр). В первом случае будет создана копия текущего ключевого кадра, во втором – новый ключевой кадр, не содержащий никаких объектов на рабочем поле. При помощи команды Insert → Remove Frames (Вставить → Удалить кадры) можно удалить выбранные в слое кадры, а используя Insert → Clear Keyframe (Вставить → Очистить ключевой кадр), удалить ключевой кадр, не удаляя простых кадров слоя.
   Команды для работы с кадрами могут немного сбить с толку тех, кто никогда до этого не создавал анимации во Flash. Лучший способ научиться работать с этими командами – попробовать их применить. Создайте ролик и потренируйтесь добавлять и удалять кадры и ключевые кадры. Тогда вы начнете понимать, как работают эти команды.
   Совет
   Разница между кадром и ключевым кадром состоит в следующем: ключевой кадр – это точка временной шкалы, определяющая точное положение всех объектов на рабочем поле данного слоя. Они не будут менять своего положения до следующего ключевого кадра. Однако аниматоры могут выбрать, например, анимацию движения между ключевыми кадрами, при этом объекты рабочего поля будут постепенно передвигаться из позиции, определяемой первым ключевым кадром, к позиции, определяемой следующим ключевым кадром. Более подробно о ключевых кадрах вы узнаете из урока анимации, поставляемого с программой Flash 8.
Меню Modify
   Меню Modify предоставит вам еще несколько способов быстрого доступа к панелям. Команда Modify → Document открывает окно свойств документа (рис 1.10). Диалоговое окно Document Properties (Свойства документа) позволяет изменить размеры ролика, количество кадров в секунду и цвет фона.
   Рисунок 1.10. В диалоговом окне Document Properties задаются наиболее важные свойства ролика

   Также заслуживает упоминания набор команд подменю Transform (Трансформация). Эти команды служат для изменения масштаба, вращения и транспонирования графических объектов на рабочем поле.
   Далее в книге рассказано, как выполнять подобные действия при помощи ActionScript, но некоторыми графическими изображениями и символами невозможно управлять при помощи ActionScript, поэтому эти команды надо обязательно знать.
   Следует также остановиться на команде Group (Группировать). В случае наложения друг на друга графических объектов линии и заливка объекта, расположенного снизу, могут оказаться скрытыми. Например, если вы нарисуете большой синий круг, в центре этого круга нарисуете маленький красный круг, а затем удалите красный круг, то в центре первого круга, на том месте, где был расположен красный, получится дырка. Если же вы сгруппируете синий круг перед тем, как рисовать красный, то первый не окажется частично стертым, а останется в своем первоначальном виде под вторым. Подробнее о группировании вы узнаете из урока по рисованию, поставляемого с пакетом Flash 8.
Меню Text
   Включенные сюда команды обеспечивают быстрый доступ к опциям панелей Text (Текст). Более подробно о работе с текстом мы расскажем в разделе Создание текста данной главы.
Меню Control
   Меню Control (Управление) включает постоянно используемую команду Test Movie (Пробное воспроизведение ролика). Данная команда, выполняемая также нажатием клавиш быстрого доступа Command+Return (Macintosh) или Ctrl+Enter (Windows), преобразует ваш текущий ролик в конечный swf-файл и затем запускает его в окне предварительного просмотра.
   Ролик воспроизводится аналогично тому, как он бы воспроизводился в проигрывателе Flash или в Web-браузере пользователя. Данная команда отличается от команды Play (Воспроизведение) из меню Control, которая не использует никаких сценариев ActionScript, находящихся в ролике. Команда Play совершенно бесполезна для программиста, в то время как команда Test Movie бесценна.
Меню Window
   С помощью меню Window (Окно) вы можете открыть все панели, а также все другие окна. Сочетания клавиш для быстрого доступа к наиболее часто используемым инструментам приведены в таблице:

Окно справки
   В окне Reference (Справка) содержится словарь ActionScript программы Flash. Даже самый опытный программист ActionScript не будет знать всех свойств, применений и отличительных особенностей синтаксической структуры Flash. Это меню позволит вам быстро получить необходимую информацию об определенной команде или функции.

Создание кнопок

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

Временная шкала кнопки

   Создав кнопку, вы можете редактировать прямо на рабочем поле, выбрав ее двойным щелчком мыши, или отдельно, в главном окне Flash, два раза щелкнув по ее имени в окне палитры Library.
   В обоих случаях в верхней части главного окна Flash появится специальная временная шкала, которая содержит четыре изображения, необходимые для описания кнопки: Up, Down, Over и Hit.
   Вы можете добавлять в кнопку сколько угодно слоев. При отображении кнопки будут использоваться только первые четыре кадра, показанные на рис. 1.11. Вот для чего они предназначены:
   • Up – обычное изображение кнопки;
   • Over – вид, который принимает кнопка при помещении над ней курсора мыши;
   • Down – вид кнопки, когда пользователь уже нажал, но еще не отпустил ее;
   • Hit – определяет область, реагирующую на курсор.
   Рисунок 1.11. Временная шкала, расположенная над кнопкой, содержит предопределенный набор из четырех кадров

   Вначале лучше сосредоточить свое внимание на создании кадра Up. Затем создать варианты кадров Over и Down. В кадре Over кнопка должна каким-то образом выщелиться, в то время как в кадре Down ее следует изобразить нажатой или выделить каким-то другим способом. В следующем разделе вы увидите несколько примеров дизайна кнопки.
   Совет
   Вы можете создать кнопку, включающую только кадр Up. Если остальные три кадра останутся пустыми и будет отсутствовать даже ключевой кадр, кадр Up будет применен для всех четырех состояний кнопки.
   Отличительной чертой кадра Hit является то, что он никогда не виден. Также не важно, какого цвета расположенный в кадре Hit объект; важна лишь форма. Кадр Hit вместе с кадрами Over и Down вообще можно не создавать. В этом случае все эти кадры заменит кадр Up.
   Кадр Hit можно представить как невидимую фигуру под кнопкой, определяющую область нажатия кнопки мышью. Эта область может быть больше или меньше видимого графического изображения кнопки.
   Совет
   Вы можете создать невидимую кнопку, оставив кадры Up, Over и Down пустыми, а кадр Hit заполненным. При этом в главном окне Flash кнопка будет выглядеть как светло-голубая фигура. При воспроизведении ролика ее не будет видно вообще. Несмотря на это, на кнопку можно нажимать, а ее сценарий будет выполняться. Пользователь поймет, что это кнопка, так как при наведении на эту область курсор примет специальный вид. Такой способ применяется для создания различных эффектов.

Пример кнопки

   Давайте рассмотрим пример кнопки. На рис. 1.11 показана кнопка прямоугольной формы с надписью. Она быта нарисована непосредственно на рабочем поле при помощи инструмента Rectangle (Прямоугольник) и затем преобразована в кнопку при помощи команды Insert → Convert to Symbol. Ролик с кнопкой находится на Web-сайте в файле Samplebuttons.fla в папке данной главы.
   Процесс создания данной кнопки начался с выбора инструмента Rectangle. Два раза щелкнув по инструменту, вы получаете возможность задать значение радиуса для скругленного угла прямоугольника. В нашем примере был использовано значение 2. Для линий был задан черный цвет, для заливки – голубой.
   После того как прямоугольник был нарисован, я выбрал инструмент Text (Текст) и напечатал "PRESS ME!" (НАЖМИ МЕНЯ!). После центровки текста получилось изображение, показанное на рис. 1.11.
   После использования команды Преобразовать в символ, я получил кнопку и присвоил ей имя "My Button" (Моя кнопка). Новый символ был включен в библиотеку и остался на рабочем поле на прежнем месте.
   Два раза щелкнув кнопкой мыши по символу в библиотеке, вы можете отдельно редактировать кнопку на рабочем поле. В верхней части главного окна Flash появятся четыре предустановленных кадра, при этом все кадры, кроме кадра Up, будут пустыми. Кнопка будет работать отлично, однако станет использовать одно и то же изображение для всех своих состояний. Форма области в кадре Hit будет определяться самим изображением кнопки.
   Чтобы внести разнообразие, необходимо создать ключевой кадр для каждого из четырех имеющихся кадров. Для этого выберите кадр на временной шкале и нажмите клавишу F6 (вставка ключевого кадра). Затем вернитесь к кадрам Over и Down и внесите в них какие-нибудь изменения. В нашем примере была изменена заливка каждого из кадров. Для кадра Hit текст не обязателен, значение имеет лишь форма изображения.

Создание текста

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

Свойства текста

   Рисунок 1.12. Окно Properies позволяет изменять свойства текста

Динамический текст

   Рисунок 1.13. Панель Properties показывает параметры динамического текстового окна

   В выпадающем меню имеется возможность выбрать расположение текста в одну строку (Single Line), в несколько строк (Multiline) и в несколько строк без возможности переноса (Multiline No Wrap). Кроме того, справа имеются три небольшие кнопки с опциями Selectable (Выделяемый), Render Text as HTML (Читать HTML-тэги) и Show Border Around (Показывать рамку вокруг текста). Опция HTML дает возможность использовать в тексте некоторые базовые тэги языка HTML, наподобие <b>. Опция Border помещает текст в рамку и делает окно непрозрачным. Опция Selectable позволяет пользователю выделять блоки текста подобно тому, как это делается в текстовом редакторе.
   Наиболее важной для программиста на ActionScript опцией данной панели является текстовое окно Var (Переменная), в которое вы можете ввести имя переменной. При воспроизведении ролика переменная и окно динамического текста будут связаны. При изменении значения одного из них соответственно будет меняться и значение второго. Это позволяет изменить переменную в программе и одновременно видеть эти изменения на экране.
   В нижней части панели находится ряд кнопок, а также поле, где вы можете указать, начертания каких символов должны сохраняться в конечном Flash-файле для дальнейшего использования в текстовом окне. Например, вы можете задать, чтобы вместо полного набора символов Flash сохранял вместе с роликом только цифры. С другой стороны, вы можете не сохранять вообще никаких наборов символов, тогда в текстовом окне будут использоваться только шрифты, установленные на компьютере пользователя.
   Совет
   Flash – достаточно умная программа и никогда не включает в swf-файл более одной копии каждого набора символов. Поэтому, если вы создали две области динамического текста, использующие все символы шрифта Arial, этот шрифт сохраняется только один раз и будет совместно использоваться обеими областями.

Редактируемый текст

   Для опции Input Text наряду со значениями Single Line, Multiline и Multiline No Wrap существует четвертое значение – Password (Пароль). Как вы уже, наверное, догадались, вместо символов в данном текстовом окне будут отображаться точки.
   Также добавлена настройка Max Chars (Максимальное количество символов), задающая ограничение на количество вводимых символов. Установка значения 0 разрешает ввод неограниченного количества символов.
   Совет
   Во Flash есть замечательное свойство, связанное с однострочным вводом текста. Когда вводимый пользователем текст выходит за границу текстового окна, текст автоматически прокручивается вправо. Вернуть курсор назад можно при помощи стрелки "влево". Эта функция позволяет вводить значительные блоки текста, не создавая большие области для их ввода.

Импорт мультимедийных элементов во Flash

   Хотя основой Flash является векторная графика, программа может использовать и другие элементы, например растровые изображения и звуковые файлы. Flash не позволяет редактировать эти элементы, они только отображаются.
   Создавать растровые изображения и звуки следует в других программах, например Adobe Photoshop и Sound Forge. Давайте рассмотрим эти два типа элементов и способы их использования с помощью ActionScript.

Растровые изображения

   После импорта изображения в библиотеку с ним мало что можно сделать при помощи ActionScript. Тем не менее вы можете поместить его в клип.
   Над изображением, импортированным во Flash, можно произвести не так уж много операций. На рис. 1.14 показано диалоговое окно Bitmap Properties (Свойства растрового изображения), вызываемое двойным щелчком мыши по изображению в библиотеке.
   Рисунок 1.14. Диалоговое окно Bitmap Properties позволяет задавать степень сжатия растра, включить и отменить сглаживание и повторить импорт при помощи кнопки Update (Обновить)

   Для того чтобы преобразовать растровое изображение в векторное, выделите его на рабочем поле и выберите команду Modify → Trace Bitmap (Изменить → Трассировать растр). При этом на экране появится диалоговое окно, показанное на рис. 1.15.
   Рисунок 1.15. В диалоговом окне Trace Bitmap осуществляется преобразование растрового изображения в векторное

   Функция Trace Bitmap заменяет растровое изображение набором закрашенных векторных областей. В большинстве случаев это приводит к ухудшению качества рисунка по сравнению с исходным, но, по крайней мере, теперь его можно масштабировать аналогично векторному изображению.
   Совет
   Многие художники преобразуют растровое изображение в векторное на одном из этапов его создания. Например, можно нарисовать что-нибудь на бумаге, отсканировать изображение в файл, а затем трассировать полученный растр в векторное изображение. Многие художники используют для преобразования не Flash, а программы типа Adobe Streamline. Затем изображение импортируется во Flash. После этого художник должен довольно много потрудиться, чтобы изображение выглядело так, как было задумано.

Звуки

   После того как файл импортирован во Flash, двойным щелчком мыши по его имени в библиотеке можно открыть диалоговое окно Sound Properties (Свойства звука) – см. рис. 1.16.
   Рисунок 1.16. Диалоговое окно Sound Properties позволяет задавать степень сжатия звукового файла при включении его в конечный Flash-ролик

   Обычно звуковые элементы перетаскивают на временную шкалу и помещают в ключевой кадр. Когда начинает воспроизводиться ключевой кадр, запускается воспроизведение соответствующего звукового файла. Параметры звукового файла, прикрепленного к кадру, можно настроить, вызвав соответствующую ему панель Sound (Звук).
   Совет
   Настройка степени сжатия звукового файла в диалоговом окне Sound Properties необходима в случае, если для вас важно качество звука в конечном ролике. Например, использование компрессии MP3 со скоростью воспроизведения 16 Кб/с даст звук среднего качества, подходящий для специальных эффектов и т. п. Однако, если вы используете качественную музыку, вам понадобится скорость 32 Кб/с или даже 64 Кб/с. Советуем поэкспериментировать с различными настройками и подобрать их таким образом, чтобы получить звук хорошего качества и одновременно занимающий как можно меньше места. При сохранении ролика вы можете также установить настройки по умолчанию, которые будут применяться для всех звуков ролика.
   Показанная на рис. 1.17 панель Properties позволяет установить способ запуска звукового файла, его повторение и даже применить эффект его постепенного исчезновения. Так как в нашу задачу не входит использование этих свойств звука, не будем рассказывать о них подробно.
   Рисунок 1.17. Панель Properties служит для настройки звуковых файлов, находящихся на временной шкале

   Вместо этого рассмотрим, как с помощью команд ActionScript запустить звуковой файл, а также настроить время и способ его воспроизведения.
   В случае, если на временной шкале звук отсутствует, Flash не включит его в конечный файл, и попытка ActionScript запустить его не удастся.
   Чтобы обеспечить включение звука в конечный файл, необходимо установить свойства связи (см. рис. 1.6). Для ссылок на звуковой файл в ActionScript следует использовать имя, назначенное данному файлу в диалоговом окне Linkage Properties.

Организация ролика

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

Библиотека

   Организация библиотеки осуществляется посредством создания каталогов внутри палитры Library. Каталоги выполняют такие же функции, как и каталоги (директории) вашей операционной системы. Вы можете создавать каталоги и хранить в них различные элементы библиотеки. Например, если у вас есть 52 графических изображения для представления колоды из 52 карт, вы можете поместить их в папку под названием cards (карты). Это значит, что все 52 карты будут отображаться как один элемент библиотеки (если содержащая их папка закрыта). Развернув данный элемент, вы получите доступ к имеющимся в нем графическим изображениям.
   Для того чтобы создать каталог, откройте палитру Library и из всплывающего меню в правом верхнем углу выберите команду New Folder (Новая папка). Доступ к содержимому папки осуществляется очень просто (нажатием на ее изображение мышью). При этом вам не придется ссылаться на имя каталога ни при помощи инструментов анимации, ни в программе ActionScript.
   Палитра Library включает еще несколько инструментов для организации библиотеки. Например, вы можете упорядочить ее содержимое по любому параметру, указанному в заголовках столбцов. На рис. 1.18 показана полностью развернутая палитра Library. Если вы хотите упорядочить библиотеку по дате последнего изменения (вариант Date Modified), просто щелкните мышью по заголовку столбца. Небольшая кнопка с изображением в форме пирамиды, расположенная справа от заголовков столбцов, позволяет упорядочить содержимое по возрастанию или по убыванию.
   Рисунок 1.18. Развернутый каталог в палитре Library

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

Кадры

   В ActionScript имеется возможность ссылаться на номера кадров, однако мы не советуем этого делать. Почему? Предположим, вы написали программу, задающую переход от кадра 7 на кадр 13, а затем на кадр 8. После этого решили добавить кадр перед кадром 1. Кадры, которые раньше имели номера 7, 13 и 8, получат номера 8, 14 и 9, и вам придется менять программу в трех местах.
   Присвоив кадрам имена, вы можете ссылаться на эти имена в программе. При этом вне зависимости от количества добавленных и удаленных кадров вы всегда будете уверены, что ключевой кадр сохранил свое имя.

Слои

   Рисунок 1.19. Данное устройство временной шкалы включает один слой только для меток, еще один для ActionScript и остальные для графических объектов

   Двойным щелчком мыши по небольшой пиктограмме слева от каждого слоя можно вызвать диалоговое окно Layer Properties (Свойства слоя) – см. рис. 1.20. Слою можно задать, например, свойство Outline (Контур), тогда все изображения данного слоя будут отображаться в виде контуров. Данный режим действует только в процессе работы в среде Flash; при просмотре swf-файла изображение примет обычный вид.
   Рисунок 1.20. В диалоговом окне Layer Properties можно задать тип слоя

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

Сцены

   Тем не менее, сцены могут служить прекрасным организационным инструментом. Они представляют собой последовательное сочетание нескольких роликов, образующих одно целое. Каждая сцена имеет свою временную шкалу. На рис. 1.21 показана панель Scene (Сцена), которая включает три сцены. Они воспроизводятся точно в указанном порядке, хотя ActionScript может игнорировать его и воспроизводить сцены в любой последовательности и даже переходить с кадра одной сцены на кадр другой сцены.
   Рисунок 1.21. Панель Scene позволяет создавать и по-разному организовывать сцены вашего ролика

Нерабочая область

   Существует одна область интерфейса Flash, чрезвычайно полезная программисту на ActionScript, однако редко упоминаемая в книгах, подобных этой. Это область, которая находится за пределами рабочего поля. Взгляните на рис. 1.1 и обратите внимание на серую область вокруг рабочего поля, расположенного в центре окна. В эту область вы можете помещать элементы. При воспроизведении ролика в браузере пользователя или в программе Flash Player данная область не будет видна.
   В нерабочей области можно, например, разместить небольшой клип с написанным для него кодом ActionScript. В отличие от кода в главной временной шкале, выполняющегося один раз, ActionScript-код клипа будет выполняться в каждом кадре.
   Внимание!
   Вероятность того, что пользователь увидит нерабочую область, все же существует. Если изменение масштаба ролика выполняется во Flash Player, окне предварительного просмотра Flash или в браузере, ролик старается сохранить свои пропорции, и некоторые области, расположенные выше или ниже рабочего поля, могут быть видны. Этого не произойдет, если поместить ролик в Web-страницу, используя правильные тэги (об этом рассказывается ниже).
   Таким образом, поместив небольшой клип за пределы рабочей области, где он не будет виден, вы можете создать код, выполняющий повторяющиеся действия, например анимацию или движение, контролируемое пользователем.

Подготовка ролика к публикации

   Независимо от того, является ли ваш ролик простой анимацией или сложным приложением, после окончания работы над ним его необходимо экспортировать в swf-файл. Это можно сделать при помощи команды File → Publish (Файл → Опубликовать).
   Перед этим, однако, надо проверить определенные элементы ролика и, воспользовавшись командой File → Publish Settings (Файл → Настройки публикации), настроить его соответствующим образом.

Список заключительных проверок

   • имена копий клипов – имена всех клипов, помещенных на рабочее поле, должны совпадать с именами в коде;
   • свойства связи – в случае, если клип не используется на рабочем поле, но используется кодом, необходимо настроить его свойства связи в библиотеке таким образом, чтобы он экспортировался с роликом. Имя связи должно соответствовать имени, которое используется в вашем коде. Все вышесказанное относится и к звуковым файлам, содержащимся в библиотеке;
   • имя динамического текста – имя динамического текста, используемого на рабочем поле и связанного с переменной ActionScript, должно соответствовать вашему коду;
   • шрифты – текстовое окно динамического или редактируемого текста должно содержать все символы, которые могут вам понадобиться. В противном случае при воспроизведении на машине, где установлены другие шрифты, текст будет искажен;
   • команда stop – команду ActionScript stop() необходимо поместить во все кадры, с которыми может взаимодействовать пользователь. Кадр, не содержащий команды stop(), является не более чем отдельным кадром анимации. Это также относится к клипам вашего ролика. Если они контролируются ActionScript, их первый кадр должен содержать команду stop(). Более подробную информацию об этой команде вы найдете в главе 2 «Введение в ActionScript».

Публикация

   Рисунок 1.22. Диалоговое окно Publish Settings дает возможность экспортировать ролик Flash в одном из нескольких форматов

   Поэтому единственной реальной альтернативой остается формат SWF и Projectors. Вы также можете выбрать экспорт HTML-страницы, которая будет использоваться вместе с swf-файлом.
   Вкладка Flash позволяет задать несколько настроек конечного swf-файла (рис. 1.23). При выборе опции Generate Size Report (Создать отчет о размере) программа создает краткое описание содержимого swf-файла и помешает его в окно Flash Output (Window → Output). Также создается отдельный файл отчета FileName Report.txt (где FileName – имя вашего fh-файла), который помешается в ту же директорию, что и fla-файл. Это поможет вам найти и сократить элементы, занимаюшие много места.
   Рисунок 1.23. Вкладка Flash диалогового окна Publish Settings позволяет изменять некоторые важные настройки swf-файла

   Опция Omit Trace Actions (Игнорировать трассировку) предназначена для того, чтобы отключать сообщения, выводимые командой trace в окно Output. Вывод сообщений происходит только при проигрывании фильма в редакторе, так что для просмотра в браузере или посредством Flash-плеера эта опция не существенна.
   Опция Protect from Import (Защита от импорта) создает защищенный от импорта фильм. При попытке импортировать такой ролик будет затребован пароль.
   Опция Debugging Permitted (Разрешить устранение неполадок) позволяет вам устранять неполадки в ролике во время его воспроизведения. Более подробно об устранении неполадок рассказано в главе 4 "Процесс создания игры".
   Следующий ряд настроек дает возможность установить значение сжатия по умолчанию для изображений и звуков. При установке флажка Override Sound Settings (Заменять настройки звука) все звуки будут сжаты с параметрами по умолчанию, независимо от ранее установленной степени сжатия.
   Опция Version (Версия) в нижней части окна, похоже, может творить чудеса. Она предлагает сохранить ролик во Flash 1, 2, 3, 4, 5, MX или 8. Получается, что создаваемые вами ролики со сложным сценарием ActionScript будут работать во Flash 3? Нет. Если ваш ролик содержит хоть какой-нибудь сценарий на ActionScript, скорее всего, его необходимо экспортировать как ролик Flash MX или 8. Если же вы используете новые команды версии 8, то ничего не остается, кроме как импортировать фильм в этой версии.
   Последняя вкладка диалогового окна Publish Settings, изображенная на рис. 1.24, позволяет задать внешний вид HTML-файла, экспортируемого с swf-файлом.
   Рисунок 1.24. Вкладка HTML диалогового окна Publish Settings позволяет задавать настройки HTML-файла, экспортируемого с swf-файлом

   На самом деле опции[2], показанные на рис. 1.24, не контролируют swf-файл, а только задают тэги HTML-страницы. Эти тэги мы рассмотрим в следующем разделе.

Размещение Flash-ролика в сети

   При помощи двух тэгов вы можете поместить swf-файл на Web-страницу и для Internet Explorer, и для Netscape. Более того, множество настроек позволяют задавать нужный внешний вид ролика. Большинство из них автоматически применяются программой при публикации и могут быть установлены в диалоговом окне Publish Settings, показанном на рис. 1.24. Тем не менее вам не помешает знать, как выглядят эти элементы. Не знаю, как вы, а я бы скорее предпочел создать свой собственный HTML, чем использовать шаблон Flash.
   Приведенный ниже элемент содержит Flash-ролик размером 550x400 под названием Sample.swf. Воспроизведение ролика начинается сразу, уровень качества – высокий, используются шрифты устройства, фоновый цвет – белый.

   <Object classid="clsid:D27CDB6E-AE6D-11cf-96B8•444553540000"
   codebase="http://download.macromedia.com/pub/shockwave/
   cabs/flash/swflash.cab#version=5,0,0,0"
   WIDTH=550 HEIGHT=400>
   <PARAM NAME=movie VALUE="sample.swf">
   <PARAM NAME=play VALUE=true>
   <PARAM NAME=quality VALUE=high>
   <PARAM NAME=devicefont VALUE=true>
   <PARAM NAME=bgcolor VALUE=#FFFFFF>
   </OBJECT>

   Длинная строка символов, начинающаяся с classid, является обозначением Flash для Internet Explorer. Часть кода, начинающаяся с codebase, дает Internet Explorer команду загрузить Flash Plug-in (программу, встраиваемую в IE для проигрывания Flash-роликов) в случае, если он еще не загружен.
   Netscape не понимает тэг OBJECT, так как он используется для описания управляющих элементов ActiveX – технологии, предназначенной для встраивания мультимедийных элементов в Internet Explorer. Для Netscape необходим элемент EMBED, который дает команду браузеру использовать плагин Flash для запуска Flash-ролика.

   <EMBED src="sample.swf"
   play=false
   quality=high
   devicefont=true
   bgcolor=#FFFFFF
   WIDTH=550 HEIGHT=400
   TYPE="application/x-shockwave-flash"
   PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
   </EMBED>

   Как видите, эти элементы очень похожи. Параметр TYPE сообщает Netscape, что это ролик Flash, а PLUGINSPAGE подсказывает, куда направить пользователя в случае, если у него не установлена программа Flash.
   Внимание!
   В отличие от элемента OBJECT элемент EMBED не содержит номер версии Flash, необходимой для воспроизведения вашего ролика. Это значит, что Netscape с Flash 8 попытается воспроизвести ваш ролик, созданный во Flash 8, даже если не сможет понять команды ActionScript. В результате ролик не будет воспроизведен должным образом. Для того чтобы предупредить пользователей, вы можете поместить на страницу предупреждение "Для воспроизведения необходим Flash 8 Player". Информацию о новейших технологиях JavaScript для определения версии Flash, установленной у пользователя, вы найдете на сайтах, приведенных в приложении А "Internet-ресурсы для разработчика Flash".
   Однако недостаточно просто включить в код элементы OBJECT и EMBED. Все намного сложнее. Дело в том, что Internet Explorer может также использовать элемент EMBED для отображения мультимедийных элементов. Значит, существует вероятность того, что Internet Explorer использует оба тэга и Flash-ролик будет воспроизведен дважды на одной и той же странице.
   К счастью, существует простой способ не допустить этого. Если поместить элемент EMBED внутрь элемента OBJECT, Internet Explorer проигнорирует его. Таким образом, окончательная версия кода будет выглядеть следующим образом:

   <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
   codebase="http://download.macromedia.com/pub/shockwave/cabs/
   flash/swflash.cab#version=6,0,0,0"
   WIDTH=550 HEIGHT=400>
   <PARAM NAME=movie VALUE="sample.swf">
   <PARAM NAME=play VALUE=true>
   <PARAM NAME=quality VALUE=high>
   <PARAM NAME=devicefont VALUE=true>
   <PARAM NAME=bgcolor VALUE=#FFFFFF>
   <EMBED src="sample.swf"
   play=false
   quality=high
   devicefont=true
   bgcolor=#FFFFFF
   WIDTH=550 HEIGHT=400
   TYPE="application/x-shockwave-flash"
   PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
   </EMBED>
   </OBJECT>

   Приведенный выше код исполняется отлично, однако создает одну проблему: почти каждый параметр должен повторяться дважды, один раз в элементе OBJECT, второй – в элементе EMBED. Если вы вносите какие-либо изменения, не забудьте сделать это в обоих тэгах.
   Теперь, узнав, как связаны Flash и ActionScript, вы готовы стать программистом на ActionScript. В следующей главе мы начнем изучение Action-Script.

Глава 2
Введение в ActionScript

   • Урок 1. Что такое код ActionScript и где его размешать
   • Урок 2. Использование окна Actions
   • Урок 3. Ваша первая программа на ActionScript
   • Урок 4. Контроль воспроизведения ролика
   • Урок 5. Создание кнопок для пользователя
   • Урок 6. Анимация при помоши ActionScript
   • Урок 7. Возможность управления клипами пользователем
   • Урок 8. Использование переменных
   • Урок 9. Выполнение операций
   • Урок 10. Условные выражения
   • Урок 11. Циклы
   • Урок 12. Текст и строки
   • Урок 13. Создание функций
   • Урок 14. Массивы

   Вы сможете изучить ActionScript и научиться программировать на нем в двух случаях: если у вас есть опыт программирования на других языках или вы не имеете опыта программирования, но умеете создавать графику и анимацию во Flash.
   В начале данной главы мы опишем основные элементы ActionScript, а затем рассмотрим ряд практических примеров. За 24 простых урока вы научитесь программированию на ActionScript. Данная глава содержит первые 14 уроков, в которых рассказывается об основных командах ActionScript. Глава 3 "Элементы ActionScript для создания игр" содержит еше 10 уроков.

Урок 1. Что такое код ActionScript и где его размещать

   ActionScript – это язык программирования, используемый программой Flash MX. По сравнению с главной временной шкалой, позволяюшей создавать лишь линейную анимацию, ActionScript расширяет возможности программирования. При помоши ActionScript ваш ролик будет реагировать, например, на выбор, делаемый пользователем, или на другие события. ActionScript позволяет управлять элементами, которые видит пользователь, и вместо простой анимации показывать нелинейные презентации, интерактивные приложения или игры.
   Примечание
   ActionScript, используемый Flash 8, был создан на основе двух источников. Первый – это набор макрокоманд, взятый из предыдуших версий Flash, в основном Flash 4, который содержал схожий, но очень простой язык программирования. Другим источником оказался JavaScript – язык, используюшийся для создания небольших программ для HTML-страниц в Internet Explorer и Netscape. Новый язык стал популярен среди разработчиков Web-страниц, которые являются основными пользователями Flash 8. Для того чтобы упростить изучение ActionScript, многие новые команды и синтаксис были приведены к виду, напоминаюшему JavaScript.
   Программы ActionScript представляют собой списки инструкций, которые выполняются программой Flash и могут быть помешены в различные места Flash-ролика. Если вы знаете, куда поместить сценарий, это уже полдела. Давайте рассмотрим несколько мест, куда может быть помешен сценарий, а также в каких случаях он будет использован программой.

Сценарии кадра

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

Сценарии для кнопок

   Теперь окно Actions имеет заголовок Actions – Button (Действия – Кнопка). Любой сценарий, введенный здесь, будет выполнен кнопкой. Однако вы не можете просто ввести набор команд. Вы должны запрограммировать реакцию кнопки на выполнение различных событий, например на ее нажатие, помешение над ней курсора и т. д. Код, обрабатываюший подобные события, называется программой-обработчиком. Сценарий кнопки представляет собой набор из одного или нескольких обработчиков.

Сценарии клипов

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

Урок 2. Использование окна Actions

   На рис. 2.1 показан обычный режим окна Actions. Однострочная программа, содержащая команду gotoAndPlay, была помещена в программу в правой части окна двойным щелчком мыши по ее названию в списке слева. При выборе команды справа ее описание появляется в нижней части окна. Вы можете изменить эту информацию при помощи выпадающих списков и текстовых полей. В нашем примере был выбран тип Frame Label (Метка кадра) и кадр "My Frame Name". Команда в окне будет соответственно изменена.
   Рисунок 2.1. Обычный режим окна Actions позволяет выбирать команды и настраивать их

   Что касается меня, то я создаю все программы в режиме эксперта окна Actions. Название режима немного обманчиво и подразумевает, что в нем будет сложнее работать. В действительности все наоборот. В экспертном режиме окно Actions превращается в нечто похожее на простой текстовый редактор, где вместо выбора кода из списка вы его просто вводите. Теперь в окне легче работать, однако при этом можно ввести и неправильный код.
   Для переключения между обычным и экспертным режимами используйте всплывающее меню Properties (Свойства), которое можно вызвать, щелкнув по небольшой стрелке в правом верхнем углу окна Actions (рис. 2.1) или нажав комбинацию клавиш Command+N и Command+E (Macintosh) или Ctrl+N и Ctrl+E (Windows). Перед тем как использовать сочетание клавиш, не забудьте сделать окно активным, в противном случае данные команды выполнят совершенно другие действия.
   На рис. 2.2 показано окно Actions в экспертном режиме. Теперь вы не можете изменить свойства команды в нижней части окна. Тем не менее в вашем распоряжении имеется список команд левой части окна, которые могут быть добавлены в программу двойным щелчком мыши.
   Рисунок 2.2. Экспертный режим позволяет набирать листинг программы непосредственно в окне

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

Урок 3. Ваша первая программа на ActionScript

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

   trace («Hello World!»);

   Примечание
   Точка с запятой ставится в конце каждой команды, как в примере с trace.
   Команда trace – это встроенная функция Flash. В круглых скобках указываются параметры функции. Параметры – это входные данные, необходимые функциям для выполнения их задачи. Команда trace использует один параметр: строку, которая помещается в окно Output. Некоторые функции содержат один параметр и более, в то время как другие – ни одного.
   Ваш экран должен выглядеть примерно так, как изображено на рис. 2.3. Здесь вы видите один слой и один кадр на временной шкале. Окно Actions имеет заголовок Actions – Frame. Это обозначает, что содержащийся в окне код ActionScript относится к выбранному в данный момент ключевому кадру. Единственным элементом программного листинга является команда trace.