Использование команд для вывода результата


Теперь Вы готовы добавить в Ваш клип команды, определяющие выбранного заказчиком змея и показывающие его в клипе с выводом соответствующего счета. Воспользуйтесь панелью 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.invoiceStyle = Style; _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 _root.invoice.invoiceStyle = Style; //Sets the invoiceColor variable of the invoice movie clip to the //value of the Color parameter _root.invoice.invoiceColor = Color; //Sets the invoicePrice variable of the invoice movie clip to the //value of the Price parameter _root.invoice.invoicePrice = Price; //Sets the variable flyingKite equal to the variable currentKite flyingKite = currentKite; }

Теперь добавьте команду include, которая свяжет, созданную Вами внутреннюю функцию, с внешней функцией.

1 В категории Actions панели Frame Actions, перетащите значок include в конец текста в правом окне.
2 В поле Path введите KiteFunction.txt.
3 Закройте панель Frame Actions.

Note: Не забывайте почаще сохранять Вашу работу.




Содержание раздела