Управление объектами с помощью языка Action Script. Взаимодействие объектов
Цель и задачи занятия
Закрепить теоретические знания и получить практический навык создания flash-анимации с использованием языка программирования Action Script.
Краткие теоретические сведения
Чтобы управлять видеоклипами и кнопками с помощью языка Action Script, надо придумать имя этой самой кнопке или видеоклипу. Когда создаете тот или иной символ, вам предлагается придумать ему имя, по которому будет легко найти его в библиотеке. Желательно задавать имя, соответствующее содержанию. То есть, если в символе видеоклипа нарисовано, например, вращающееся колесо, то и сам символ лучше назвать «колесо», тогда вы без труда сможете найти необходимый элемент библиотеки. По умолчанию предлагается имя Symbol N. где N – его порядковый номер. Название символа может содержать пробелы и русские буквы. Action Script же умеет работать только с латинскими названиями, не содержащими пробелов. Поэтому то название, которое вы дали символу при его создании, нужно только для облегчения его поиска в библиотеке среди множества других символов,
Instance name
Если же вы хотите управлять видеоклипом с помощью скрипта, необходимо дать ему имя. Вы можете поместить на холст 2 экземпляра одного и того же символа из библиотеки, но назвать их по-разному и управлять каждым в отдельности. Допустим, вы уже расположили на холсте экземпляр Movie Clip. Выделите его и в панели Properties (Свойства) в поле Instance name задайте имя cursor_mc (рис. 4.1.).
Теперь выделите кадр, в котором расположен видеоклип и нажмите F9. Откроется окно Action Frame, введите туда следующий код:
cursor_mc.startDrag(); //видеоклип двигается за мышью
Нажимаем Ctrl+Enter и тестируем ролик.
Рис. 4.1. Instance name
Теперь разберемся с кодом. Комментарии в Action Script пишутся так же, как и во многих других языках программирования:
//Закомментированная строка
Либо
/*
Закомментированный текст
*/
Комментарии нужны для разъяснения кода, если программой будет пользоваться другой человек. Иногда комментарии полезно делать и для себя. В примере с курсором для мыши использованы новые для вас функции. Теперь все по порядку:
Функция Mouse.hide() скрывает курсор мыши (Mouse в переводе с английского «мышь», а hide - «прятать»). Противоположная ей функция Mouse.show() наоборот показывает курсор (show - «показывать»),
К имени (Instance name) видеоклипов и кнопок лучше всего добавлять окончание _mc и _btn соответственно. Это нужно для упрощения работы с редактором действий. Например, мы назвали наш видеоклип cursor_mc. Напечатаем это название в панели Action и поставим точку. Появится список, из которого можно выбрать нужное свойство или функцию, _mc – от слова Movie Clip, _btn – от слова Button.
Если бы мы написали просто cursor, список бы не появился,
Рис. 4.2. Раскрывающийся список
Свойства _xmouse, _ymouse – это соответственно x- и y- координаты курсора мыши. Строки cursor_mc._x=_xmouse и cursor_mc._y=_xmouse помешают видеоклип в местоположение курсора (даже если он скрыт функцией Mouse.hide()).
И, наконец, функция startDrag() заставляет символ двигаться вместе с мышью. Противоположная ей функция stopDrag() останавливает движение видеоклипа за указателем мыши. Функция startDrag() может иметь входные параметры. Например, вместо строки cursor_mc.startDrag() можно написать cursor_mc.startDrag(this) или startDrag(cursor_mc), то есть в скобочках нужно указывать Instance name нужного символа. Параметр this означает «текущий символ». Если это скрипт для фрейма, то имеется ввиду символ, имя которого написано в начале строки. Если же этот код написан на каком-либо объекте (будь то кнопка или видеоклип), то символ this указывает на эту самую кнопку или видеоклип.