Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.
Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.
Гэри Розенцвейг
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Об авторе
Гэри Розенцвейг (Gary Rosenzweig) – дизайнер компьютерных игр, программист, предприниматель и автор восьми книг по Macromedia Director и Flash. Он владелец и управляюший компании CleverMedia, которая специализируется на разработке компьютерных игр и имеет четыре специализированных сайта в Internet: , , и .
Со времени своего основания в 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) является владелицей букинистического магазина (). Гэри и Дэбби живут в Денвере, штат Колорадо, вместе с кошкой Люси (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).
Ждем ваших отзывов и пожеланий!
Вы – читатель нашей книги – являетесь нашим самым главным критиком и советчиком. Мы уважаем ваше мнение и хотели бы знать, что нравится в нашей работе, что стоит улучшить, книги на какие темы следует публиковать, и будем рады получить от вас любой ценный совет.
Присылайте ваши сообшения по электронной почте:
Que: feedback@quepublishing.com
ДМК Пресс: dm@dmkpress.ru
Для получения более полной информации об этой книге и других, изданных Que, посетите наш Web-сайт на . Напечатайте 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".
Хотелось бы обратить ваше внимание на то, что в книге содержится множество программ на ActionScript! В ней их больше, чем в любой другой книге, посвяшенной Flash. Здесь около 37 игр с исходными кодами, напечатанными в книге и доступными по адресу http://www.dmk-press.ru.
Для кого предназначена эта книга
Это практическое руководство по изучению ActionScript, а не книга для тупиц или идиотов. Следовательно, я не веду читателя за руку по всем этапам проекта, описываемого в главе. Если какой-то прием объяснялся ранее, я не буду повторяться. Вместо этого я расскажу о более сложных вешах и других приемах, таким образом, вы всегда будете изучать что-нибудь новое.
Книга требует обдуманного изучения. Если вы не поняли что-то с первого раза, попробуйте перечитать объяснения еше раз, посмотрите пример на 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 8 ActionScript. Подразумевается, что вы уже немного знакомы с рабочей средой Flash и имеете какой-то опыт работы с программой.
При этом вы, также как и я, не обязаны быть профессиональным художником-графиком. У многих людей Flash ассоциируется только со способностями к рисованию. Это действительно было необходимо в более ранних версиях Flash, в которых графика была единственным инструментом, однако теперь Flash является еше и средой программирования. Таким образом, данная книга будет одинаково интересна и профессиональным иллюстраторам, и программистам.
Но для начала вам необходимо:
• знать основы Flash и уметь их использовать;
Ф быть знакомым с содержанием обучаюших программ Flash 8;
Ф уметь работать с главной временной шкалой, добавлять кадры и маркировать их;
Ф уметь создавать клипы, кнопки и графические изображения. Они не должны быть первоклассными, вам просто нужно знать процедуру их создания во Flash.
С другой стороны, некоторые смогут использовать эту книгу, даже если они никогда прежде не работали во Flash. Если вы – способный и усидчивый ученик, готовый с головой уйти в новый предмет до его полного изучения, данная книга позволит вам, быстро освоив основные приемы Flash, перейти к профессиональному программированию в ActionScript.
Чему вас научит эта книга
Теперь, когда мы определили, что вы относитесь к одной из вышеперечисленных групп специалистов, возникает вопрос: чему вас может научить эта книга?
Изучение ActionScript
Сушествует несколько способов применения данной книги, первый из них – изучение ActionScript. Эта книга ни в коем случае не является руководством для начинаюших, она научит вас использовать ActionScript для более сложных вешей.
Вы освоите множество команд, функций и приемов, используюшихся в играх и других приложениях. Вы не только узнаете, какие функции они выполняют, но и увидите их в действии на примере реальных программ.
Создание игр во Flash
Каждая программа, содержашаяся в данной книге, может считаться одной из разновидностей игр или частью игры. Даже если вы уже знакомы с ActionScript, книга научит использовать ваши знания для создания игр. В главе 4 я подробно расскажу о том, как создаются игры. Оставшаяся часть книги заполнена примерами.
Использование готовых игр
Конечно, вы можете купить эту книгу, взять из нее исходные программы и создавать свои собственные игры. Вы можете, не меняя программы, опубликовать игры на вашем Web-сайте, однако вы наверняка захотите вначале придать им ваш собственный графический стиль.
Имейте в виду, однако, что книга и содержашиеся в ней исходные программы предназначены для тех, кто заинтересован в изучении ActionScript. Не думайте, что вы сможете сразу же перейти к главе 16 и начать составлять программы. Возможно, у некоторых это и получится, однако большинство столкнется с трудностями, не изучив информацию глав 1-15.
Глава 4 научит вас некоторым тонкостям переделывания уже готовых игр в ваши собственные. В каждой главе также содержатся предложения о том, что можно изменить в играх, чтобы они стали вашими собственными.