Современная электронная библиотека ModernLib.Net

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

ModernLib.Net / Программирование / Гэри Розенцвейг / Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript - Чтение (Ознакомительный отрывок) (стр. 3)
Автор: Гэри Розенцвейг
Жанр: Программирование

 

 


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

<p>Слои</p>

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

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


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

Рисунок 1.20. В диалоговом окне Layer Properties можно задать тип слоя


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

<p>Сцены</p>

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

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

Рисунок 1.21. Панель Scene позволяет создавать и по-разному организовывать сцены вашего ролика

<p>Нерабочая область</p>

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

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

Внимание!

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

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

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

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

Перед этим, однако, надо проверить определенные элементы ролика и, воспользовавшись командой File -> Publish Settings (Файл -> Настройки публикации), настроить его соответствующим образом.

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

Вот список элементов, которые необходимо проверить перед публикацией ролика:

• имена копий клипов – имена всех клипов, помещенных на рабочее поле, должны совпадать с именами в коде;

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

• имя динамического текста – имя динамического текста, используемого на рабочем поле и связанного с переменной ActionScript, должно соответствовать вашему коду;

• шрифты – текстовое окно динамического или редактируемого текста должно содержать все символы, которые могут вам понадобиться. В противном случае при воспроизведении на машине, где установлены другие шрифты, текст будет искажен;

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

<p>Публикация</p>

Перед тем как применить команду File -> Publish (Файл -> Публиковать), вызовите диалоговое окно Publish Settings (рис. 1.22). Это большое диалоговое окно состоит из трех вкладок. Вкладка Formats (Форматы) позволяет вам выбрать формат для экспорта. Однако форматы GIF, JPEG и PNG представляют собой неподвижные изображения, а форматы QuickTime Movie и RealPlayer не поддерживают ActionScript программы Flash 8.

Рисунок 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-страницы. Эти тэги мы рассмотрим в следующем разделе.

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

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

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

Приведенный ниже элемент содержит Flash-ролик размером 550x400 под названием Sample.swf. Воспроизведение ролика начинается сразу, уровень качества – высокий, используются шрифты устройства, фоновый цвет – белый.


codebase="/go.php?url=http%3A%2F%2Fdownload.macromedia.com%2Fpub%2Fshockwave%2F%3C%2Fp%3E

cabs/flash/swflash.cab#version=5,0,0,0"

WIDTH=550 HEIGHT=400>


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

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


play=false

quality=high

devicefont=true

bgcolor=#FFFFFF

WIDTH=550 HEIGHT=400

TYPE="application/x-shockwave-flash"

PLUGINSPAGE="/go.php?url=http%3A%2F%2Fwww.macromedia.com%2Fgo%2Fgetflashplayer">


Как видите, эти элементы очень похожи. Параметр 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 проигнорирует его. Таким образом, окончательная версия кода будет выглядеть следующим образом:


codebase="/go.php?url=http%3A%2F%2Fdownload.macromedia.com%2Fpub%2Fshockwave%2Fcabs%2F%3C%2Fp%3E

flash/swflash.cab#version=6,0,0,0"

WIDTH=550 HEIGHT=400>

play=false

quality=high

devicefont=true

bgcolor=#FFFFFF

WIDTH=550 HEIGHT=400

TYPE="application/x-shockwave-flash"

PLUGINSPAGE="/go.php?url=http%3A%2F%2Fwww.macromedia.com%2Fgo%2Fgetflashplayer">


Приведенный выше код исполняется отлично, однако создает одну проблему: почти каждый параметр должен повторяться дважды, один раз в элементе 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-ролика. Если вы знаете, куда поместить сценарий, это уже полдела. Давайте рассмотрим несколько мест, куда может быть помешен сценарий, а также в каких случаях он будет использован программой.

Примечания

1

Преобразовав изображение в символ, вы тем самым создаете экземпляр этого символа в библиотеке. Перевод термина «Simbol» как «эталон» или «образец» подразумевает, как правило, что речь идет о библиотечном объекте, используемом как образец для создания символов непосредственно на рабочем поле. – Прим. науч. ред.

2

Учтите, что настройки Flash Alignment, теоретически позволяющие определять положение swf-файла на странице браузера, реально не работают ни во Flash MX, ни в более ранних версиях. – Прим. науч. ред.

Конец бесплатного ознакомительного фрагмента.

  • Страницы:
    1, 2, 3