Учебник по Flash MX
Назад | Содержание | ВперёдИнтерфейс панели Actions
Как было сказано в начале данной главы, панель Actions обеспечивает 2 режима работы.
В обычном режиме (Normal Mode) описание действий выполняется путем заполнения соответствующих полей параметров. В экспертном режиме (Expert Mode) Вы можете записывать и корректировать действия непосредственно в окне сценария, работая в нем как в обычном текстовом редакторе.
По умолчанию при 1-й обращении к панели установлен режим Normal Mode.
Вызов панели Actions
Существует несколько способов вызова на экран панели Actions. Однако наиболее надежный и корректный способ состоит в том, чтобы вызывать панель "от имени" того элемента фильма, для которого Вы собираетесь создать сценарий.
Чтобы открыть панель Actions для создания сценария кадра, необходимо щелкнуть правой кнопкой мыши на временной диаграмме в ячейке соответствующего ключевого кадра и в контекстном меню выбрать команду Actions. После того, как панель появится на экране, убедитесь, что создаваемый сценарий будет связан именно с тем кадром, с которым требуется. Для этого достаточно взглянуть на заголовок панели и расположенный под ним список (рис.11.4).
рис.11.4. Заголовок панели Actions при создании сценария для кадра
Чтобы открыть панель Actions для создания сценария, связанного с кнопкой или с клипом, необходимо:
- Выбрать соответствующий объект на столе.
- Открыть панель инспектора свойств.
- Щелкнуть кнопку Edit the action script (Редактировать сценарий действий), расположенную возле правой границы панели инспектора свойств (рис.11.5).
рис.11.5. Кнопка вызова панели Actions для кнопки или клипа
Эта маленькая кнопочка обладает интересной особенностью: если сценарий для данного объекта отсутствует, она белого цвета, после создания сценария она "синеет".
При вызове панели Actions для кнопки или клипа в ее заголовке отображается соответствующая информация (рис.11.6).
рис.11.6. Заголовок панели Actions при создании сценария для кнопки
Замечание
Сценарий может быть сопоставлен только конкретному экземпляру кнопки или клипа, помещенному на стол, но не собственно символу, хранящемуся в библиотеке. Назначение сценария экземпляру кнопки или клипа не влияет на свойства других экземпляров.
После того, как панель будет открыта, Вы можете выбрать режим работы.
Выбор режима выполняется с помощью соответствующих команд меню View Options (Настройка формата), которое открывается щелчком на одноименной кнопке панели (рис.11.7).
Независимо от выбранного режима, панель содержит следующие основные элементы интерфейса (рис.11.8):
рис.11.7. Меню для выбора режима работы панели Actions
рис.11.8. Основные элементы интерфейса панели Actions
- раскрывающийся список сценариев фильма; он обеспечивает быстрый переход к другому сценарию без необходимости выбора на столе объекта, с которым связан этот сценарий;
- кнопка Script Pin (Прикрепить сценарий) позволяет зафиксировать текущий сценарий; речь идет о том, что содержимое панели зависит от выбранного на столе объекта фильма; после фиксации сценария Вы можете выбрать на столе другой объект, и содержимое панели при этом не изменится;
- кнопка в виде книжки обеспечивает вызов встроенной справочной системы по языку ActionScript; необходимо отметить, что эта справка значительно подробнее, чем справка в формате HTML;
- панель Action Toolbox (Комплект инструментов для действий); каждый элемент, представленный в этом подокне, соответствует определенной конструкции языка ActionScript; двойной щелчок на значке элемента обеспечивает его вставку в текст сценария;
- окно сценария, в котором отображается текст сценария; при работе в режиме Expert Mode в этом окне можно работать как в обычном текстовом редакторе;
- панель инструментов окна сценария; размещенные на ней кнопки повышают удобство работы с текстом сценария; состав кнопок в некоторой степени зависит от режима работы; их назначение будет рассмотрено в 2-х следующих подразделах;
- строка состояния; она предназначена для вывода дополнительной информации относительно компонентов, включенных в сценарий; в частности, в строке состояния выводится краткое сообщение об ошибке.
- Список Action Toolbox содержит перечень следующих компонентов языка ActionScript, которые могут быть использованы при создании сценария (рис.11.9):
- Actions (Действия) - процедуры языка ActionScript, имеющие "универсальный" характер, то есть не зависящие от особенностей класса объектов (в отличие от методов объектов, принадлежащих конкретному классу); в эту же категорию входят традиционные для большинства языков программирования высокого уровня операторы логического управления (проверки логических условий, организации цикла и т.п.);
рис.11.9. Категории компонентов языка ActionScript
- Operators (Операторы) - операторы логических и арифметических операций (сложение, вычитание, сравнение и т.п.);
- Functions (Функции) - предопределенные (библиотечные) функции (например, в их число входит функция проверки номера версии Flash-плеера);
- Properties (Свойства) - свойства объектов, не зависящие от класса (например, уровень прозрачности изображения);
- Objects (Объекты) - предопределенные объекты, которые могут быть использованы в сценарии (например, существует объект для работы с датой и временем); в этот же раздел включаются пользовательские классы объектов;
- Deprecated (Осуждаемые) - конструкции, которые не рекомендуется использовать в сценариях (как устаревшие);
- Flash UI Components (Компоненты пользовательского интерфейса).
Кроме перечисленных разделов, в списке Action Toolbox имеется также раздел Index, который содержит алфавитный перечень всех компонентов языка.
Режим Normal Mode
Формат панели Action при работе в этом режиме показан на рис.11.10.
рис.11.10. Формат панели Action в режиме Normal Mode
Область ввода параметров предназначена для указания параметров, необходимых для корректного выполнения конструкции, помещенной в текст сценария; формат области зависит от синтаксиса конструкции, выбранной (выделенной) в тексте сценария. Некоторые конструкции вообще не имеют параметров. В этом случае область ввода параметров пуста.
На панели инструментов окна сценария имеются следующие кнопки (рис.11.11):
- кнопка Add new item (Добавить новый элемент), помеченная символом "+", обеспечиваег вызов системы каскадных меню, отражающих иерархию компонентов языка ActionScript; выбор пункта меню самого нижнего уровня обеспечивает вставку в сценарий соответствующего компонента (рис.11.12);
рис.11.11. Панель инструментов окна сценария в режиме Normal
рис.11.12. Вставка компонента с помощью кнопки Add new item
- кнопка, помеченная символом "-", обеспечивает удаление из текста сценария выбранного в окне компонента;
- кнопка Find (Поиск) вызывает на экран диалоговое окно, в котором Вы можете ввести искомую последовательность символов;
- кнопка Replace (Замена) позволяет открыть диалоговое окно для установки параметров замены строки (последовательности символов);
- кнопка Insert a target path (Добавить путь назначения) обеспечивает вывод на экран диалогового окна, с помощью которого Вы можете описать путь назначения для адресации необходимого элемента фильма; формат окна Insert a target path будет рассмотрен ниже; данная кнопка становится доступна в том случае, если в окне сценария выбран компонент, в котором предполагается использование пути назначения и, кроме того,, если фокус ввода установлен в соответствующем поле окна установки параметров;
- кнопка Debug Options (Параметры отладки) открывает меню, содержащее команды, с помощью которых выполняется расстановка и удаление контрольных точек (или точек прерывания Breakpoints); использование контрольных точек позволяет проследить выполнение сценария по шагам; величина шага определяется расстоянием между точками (числом строк сценария между точками);
- кнопки, обозначенные стрелками, позволяют перемещать компоненты сценария относительно друг друга (если компонент состоит, например, из трех строк, то 1 щелчком перемещаются все 3 строки).
1 из важнейших достоинств режима Normal Mode является то, что он позволяет добавлять в сценарий предопределенные действия из раздела Actions, не прибегая к ручному программированию. Всего таких действий более десятка:
- Go To - переход к заданному кадру или сцене;
- Play и Stop - соответственно запуск и остановка воспроизведения фильма;
- Toggle High Quality - управление качеством воспроизведения фильма;
- Stop All Sounds - выключение звукового сопровождения; Q Get URL - переход по заданному URL;
- FSCommand - управление Flash-плеером в процессе воспроизведения фильма;
- Load Movie и Unload Movie - соответственно загрузка и выгрузка фильма браузером читателя;
- Tell Target - управление навигацией между Flash-фильмами и клипами.
Некоторые из перечисленных действий будут рассмотрены более подробно применительно к конкретным типам объектов (клипам, кнопкам и кадрам) в последующих разделах.
Итак, чтобы в режиме Normal Mode создать сценарий или добавить в него некоторую компоненту, необходимо выполнить следующие действия:
- Выбрать на столе экземпляр кнопки или клипа (либо кадр на временной диаграмме), с которым должен быть связан сценарий.
- Открыть в списке Action Toolbox требуемый раздел, щелкнув на нем левой кнопкой мыши.
- Скопировать выбранный элемент в окно сценария, дважды щелкнув на имени или на значке элемента, или просто перетащив его мышью; при этом в окне отображается соответствующий фрагмент сценария на языке ActionScript.
- Ввести в соответствующих полях требуемые значения параметров.
Когда Вы назначаете действие кнопке или клипу, Flash автоматически генерирует специальную управляющую процедуру (handler), которая во многих объектно-ориентированных языках называется "обработчик события" (или "селектор"). Обработчик проверяет, произошло ли событие определенного типа, и если да, то инициирует соответствующую последовательность действий. Дополнительная роль обработчика в ActionScript - это объединение (группирование) действий, связанных с данным событием. Формат обработчика показан на рис.11.13.
рис.11.13. Формат обработчика события
Для кнопок обработчик имеет имя on, а для клипов - onСlipEvent. Имя обработчика предшествует списку событий, на которые обработчик должен реагировать. Например, конструкция on(release, KeyPress:"A") означает, что обработчик должен реагировать на события 2-х типов: release (кнопка мыши отжата) и KeyPress:"A" (на клавиатуре нажата клавиша "А").
Вообще для кнопок в языке ActionScript предусмотрены следующие типы событий (см.рис.11.10, внизу):
- Press - пользователь нажимает кнопку мыши, когда указатель находится над изображением кнопки (фильма).
- Release - пользователь нажимает и затем отпускает кнопку мыши (указатель находится над изображением кнопки);
- Release Outside - пользователь отпускает кнопку мыши, когда указатель не находится над изображением кнопки;
- Key Press - пользователь нажимает определенную клавишу на клавиатуре; для данного события необходимо дополнительно указать клавишу;
- Roll Over - пользователь перемещает указатель над изображением кнопки;
- Roll Out - пользователь перемещает указатель за пределы изображения кнопки;
- Drag Over - пользователь нажимает кнопку мыши, когда указатель находится над кнопкой, выводит его за пределы кнопки, и затем опять устанавливает над кнопкой;
- Drag Out - пользователь нажимает кнопку мыши, когда указатель находится над кнопкой, и затем выводит его за пределы кнопки.
Чтобы изменить перечень событий, на которые должен реагировать элемент фильма, необходимо щелкнуть мышью в строке сценария, в которой записано имя обработчика; при этом изменится формат окна параметров, и в нем появится группа флажков, с помощью которых можно выбрать требуемые события (см.рис.11.10, внизу).
Сделанный выбор сразу же отображается в окне сценария.
Если добавление в сценарий некоторой конструкции приводит к ошибке, или для нее требуется указать обязательный параметр, то конструкция выделяется в окне сценария красным цветом; эта же конструкция дублируется и в строке состояния (рис.11.14).
Формат окна Insert a target path, с помощью которого Вы можете описать путь назначения (то есть адрес) некоторого элемента фильма, показан на рис.11.15.
Это окно содержит следующие основные элементы интерфейса:
- дерево фильма, отражающее иерархию объектов фильма, к которым возможно обращение из сценария; поскольку при обращении к объекту используется имя соответствующего экземпляра (кнопки, клипа, текстового поля), то в дерево включаются только поименованные экземпляры; корневой элемент дерева зависит от способа адресации: для абсолютного адреса - это ключевое слово _root (то есть основной фильм), для относительной - слово this (то есть текущая временная диаграмма);
рис.11.14. Индикация ошибочной конструкции
рис.11.15. Формат окна Insert a target path
- многострочное текстовое поле Target (Назначение), предназначенное для ввода и корректировки пути назначения; если выбрать в дереве фильма некоторый элемент, то в поле Target появится соответствующий маршрут, который может быть изменен или дополнен вручную;
- пара переключателей Mode (Режим), которые позволяют выбирать способ адресации (относительный - Relative или абсолютный - Absolute); по умолчанию используется относительная адресация;
- пара переключателей Notation (Нотация), которые позволяют выбирать формат записи пути назначения:
- вариант Dotes (Точки) означает применение точечной нотации (см. подраздел "Объектная модель ActionScript");
- вариант Slashes (Слэши) соответствует записи с использованием слэшей (это "устаревший" стиль, используемый для совместимости с предыдущими версиями ActionScript); при использовании слэшей формат записи аналогичен тому, который применяется для записи URL в HTML-документах; например, чтобы подняться на 1 уровень вверх, применяется конструкция …/.
Режим Expert Mode
Экспертный режим позволяет совмещать 2 способа формирования сценария: непосредственный ввод конструкций языка ActionScript с клавиатуры и вставку их в окно сценария из списка Actions Toolbox.
Окно параметров при работе в экспертном режиме не отображается. В этом режиме не могут также использоваться кнопки удаления и перемещения строк сценария (рис.11.16):
рис.11.16. Формат панели Action в режиме Expert Mode
Экспертный режим предназначен в первую очередь для тех, кто знаком с программированием на ActionScript. Поэтому, если Вы хотите воспользоваться преимуществами данного режима, необходимо освоить основные приемы программирования на ActionScript.
Вместе с тем, уровень поддержки пользователя, реализованный в Flash MX, позволяет самостоятельно создавать сценарии различного уровня сложности. Для этого в составе редактора сценариев имеются следующие средства:
- динамическая подсказка по конструкциям языка, реализованная в виде всплывающего списка параметров (рис.11.17);
- встроенная утилита проверки синтаксиса Check Syntax.
Активизация обоих инструментов выполняется с помощью соответствующих кнопок, расположенных на панели инструментов окна сценария (рис.11.18).
Замечание
Обратите внимание, что в режиме Expert Mode кнопка Insert а target path доступна постоянно.
Щелчок на кнопке Check Syntax непосредственно активизирует процесс поиска синтаксических ошибок. В случае их обнаружения на экран выводится специальное диалоговое окно. С его помощью Вы не только получаете исчерпывающую информацию о характере, причинах и месте положения обнаруженной ошибки, но и можете настраивать параметры работы утилиты Check Syntax. Такая установка выполняется с помощью команд раскрывающихся меню окна (рис.11.19).
рис.11.17. Динамическая подсказка по конструкциям языка
рис.11.18. Панель инструментов окна сценария в режиме Expert Mode
Для отыскания ошибок в более сложных сценариях может применяться специальный отладчик - Debugger. Этот инструмент достаточно тесно интегрирован с редактором сценариев: расставив с помощью редактора контрольные точки, Вы затем можете с помощью отладчика проследить процесс выполнения сценария по шагам. При этом в окне отладчика отображаются значения используемых в сценарии переменных, стек вызовов функции и другая информация, весьма полезная для программиста (рис.11.20).
рис.11.19. Диалоговое окно утилиты Check Syntax
рис.11.20. Окно отладчика сценариев
Чтобы перейти в режим отладки фильма, достаточно в меню Control основного окна выбрать команду Debug Movie (Отладка фильма). Предварительно, как было отмечено выше, полезно расставить в сценарии контрольные точки.
Поскольку работа в экспертном режиме предполагает наличие определенных навыков в программировании на ActionScript, то все последующие примеры создания сценариев рассматриваются применительно к режиму Normal Mode.
Назад | Содержание | Вперёд