Иногда начинающие программисты ActionScript сталкиваются с проблемой назначения обработчика события для Flash-символа. Сейчас я имею в виду ситуацию, когда мы видим в панеле Actions сообщение: Current selection cannot have actions applied to it. На данный момент я нашёл 2 пути для решения этой проблемы. Во-первых, создавая новый документ во Flash, можно выбрать тип документа ActionScript 1.0&2.0, вместо ActionScript 3.0. Таким образом, назначая событию символа обработчик напрямую, мы не столкнёмся с вышеупомянутой проблемой. Однако, если всё-таки нужно использовать 3-ю версию AS, то я предлагаю второй вариант, который считаю предпочтительным.
Во-вторых, можно указать обработчик не напрямую, а следующим образом. Создаётся новый слой, в котором пишутся все скрипты. Для примера, представим простую ситуацию. У нас есть кнопка (Button)
с именем btn и какой-нибудь клип (MoveClip) с именем clip. Напишем простейший скрипт, который позволит по нажатию на кнопку останавливать проигрывание клипа.
function clickHandler(event:MouseEvent):void{
clip.stop();
}
btn.addEventListener(MouseEvent.CLICK, clickHandler);
Немножко поясню. В первых 3-х строчках мы объявляем обработичик события, который мы назвали clickHandler. А в последней строчке с помощью встроеной функции addEventListener привязываем к кнопке (btn) обработчик события (clickHandler). Параметр MouseEvent.CLICK указал по какому именно событию должен срабатывать обработчик, а второй параметр указывает какой обработчик мы назначаем. Как вы можете заметить, синтаксис очень похож на JavaScript.