Использование команд для вывода результата
Теперь Вы готовы добавить в Ваш клип команды, определяющие выбранного заказчиком змея и показывающие его в клипе с выводом соответствующего счета. Воспользуйтесь панелью Frame Actions для создания функции - блока многократно используемого кода, выполняющего определенную задачу. В нашем случае задача состоит в том, чтобы, в зависимости от выбора сделанного заказчикам, загрузить определенный SWF-файл с изображение змея во Flash Player.
Примечание: Файлы с изображениями всех моделей и цветов змеев находятся в Вашей директории My_kite.
В дополнение к функции, которую предстоит создать, воспользуемся командой Include для связи с другой функцией во внешнем текстовом файле.
Примечание: В задачи этого Учебника не входит обучение синтаксису ActionScript. См. ActionScript Help для получения дополнительной информации о создании ActionScript.
Создание функции.
Назовем создаваемую функция refreshKite.
Параметр, названый currentKite, будет сообщать функции refreshKite какой тип и цвет змея был выбран заказчиком.
1 | В слое actions линейки, дважды щелкните на ключевом кадре в кадре № 1. | |
Откроется панель Frame Actions. В случае необходимости, измените размеры панели, чтобы видеть оба окна. В правом окне уже содержится команды ActionScript, к которым необходимо будет добавить новые команды. | ||
2 | В левом списке команд нажмите на значок Actions для его раскрытия и дважды щелкните на команде function. | |
Можно просто перетащить команду function вниз имеющегося в правом окне текста с кодом. | ||
3 | В строке Name (имя) введите refreshKite. | |
4 | В строке Parameters (параметры), введите currentKite. | |
Функция будет использовать параметр currentKite (текущий выбор змея) для идентификации змея, предназначенного к показу. | ||
5 | В категории Actions, дважды щелкните на loadMovie. | |
Эта команда заменяет мувиклип на сцене, на SWF, определенный ее параметрами. | ||
6 | В строке URL введите currentKite+".swf" | |
7 | Включите опцию Expression (выражение), расположенную справа от этого поля ввода. | |
Включая опцию Expression, вы сообщаете Flash'у, что currentKite + ".swf" на литеральная строка, а выражение. Функция использует это выражение для определения имени внешнего файла. | ||
8 | В списке Location выберите Target, а в правом поле введите demoKite. | |
Как Вы должны помнить из предыдущих шагов, имя экземпляра placeholderKite есть demoKite. | ||
9 | Удостоверьтесь, что в списке Variables указано Don't Send. | |
10 | В левом списке команд дважды щелкните на set variable, для определения новой переменной. | |
Переменная является неким контейнером, хранящим информацию. Например, такую, как тип выбранного змея. В Вашем клипе она будет использоваться для хранения именно этой информации | ||
11 | В поле Variable введите chosenKite - имя новой переменной. Убедитесь, что опция Expression, справа от поля ввода, отключена. | |
12 | В поле Value введите currentKite. Включите опцию Expression, справа от поля ввода. | |
Включение внешней функции
Вы узнали, что функция состоит из команд, выполняющих задачи, на основании информации, получаемых от параметров. Теперь Вы включите в Ваш ActionScript внешнюю функцию, которая покажет счет, соответствующий выбранному змею. Внешняя функция, названная kiteFunction.txt, находится в текстовом файле в директории Tutorial/My_kite. Для связи с внешним файлом воспользуйтесь командой Include.
Преимущество такой связи с внешним файлом, по сравнению с созданием функции внутри, заключается в том, что его можно редактировать без внесения изменений в клип.
Внешняя функция демонстрирует, насколько кратким, но мощным может быть ActionScript:
function generateInvoice (Style, Color, Price, currentKite) {
_root.invoice.invoiceColor = Color;
_root.invoice.invoicePrice = Price;
flyingKite = currentKite;
Однако, обратите внимание, что эта функция не прокомментирована. Хорошая идея снабдить Ваш ActionScript комментариями, примечаниями о цели скрипта и его действиях, облегчающими его понимание. Ниже приведен текст той же функции с такими пояснениями. Комментарии в ActionScript помещаются после двойного слэша (//), все находящееся после него до конца строки, игнорируется интерпретатором Flash.
function generateInvoice (Style, Color, Price, currentKite) { //Sets the invoiceStyle variable of the invoice movie clip to the //value of the Style parameter
Теперь добавьте команду include, которая свяжет, созданную Вами внутреннюю функцию, с внешней функцией.
1 | В категории Actions панели Frame Actions, перетащите значок include в конец текста в правом окне. |
2 | В поле Path введите KiteFunction.txt. |
3 | Закройте панель Frame Actions. |