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

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

Библиотека

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

Рисунок 1.18 Развернутый каталог в палитре Library

На рис. 1.18 показана полностью развернутая палитра Library. Если вы хотите упорядочить библиотеку по дате последнего изменения (вариант Date Modified), просто щелкните мышью по заголовку столбца. Небольшая кнопка с изображением в форме пирамиды, расположенная справа от заголовков столбцов, позволяет упорядочить содержимое по возрастанию или по убыванию.
Благодаря такой организации вы можете узнать, какие элементы библиотеки используются и как часто. Здесь, конечно, не учитывается их использование в программах ActionScript.

Кадры

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

Слои

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

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

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

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

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

Сцены

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

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

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

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

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

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