Войти  Зарегистрироваться


Current selection cannot have actions applied to it или как назначить событию обработчик

(5 голоса, среднее 4.20 из 5)

Иногда начинающие программисты 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.

Комментарии
⇓⇑ Добавить новый Поиск RSS
Имя:
Email:
 
Тема:
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Пожалуйста, введите проверочный код, который Вы видите на картинке.