События ActionScript Приветствую! Сейчас поговорим о событиях. Язык ActionScript имеет Си-подобный синтаксис, чем-то похож на Java и Visual Basic. Только вместо формы AS имеет сцену. Среднестатистическая сцена, созданная в программе Adobe Flash CS5.5 выглядит так: Также запомните одну простую истину: на слое, на котором есть хоть какая-то графика код писатьбесполезно. Да-да, код мы пишем именно на слоях. Теперь будем слушать события. Создайте на сцене квадрат (круг или еще кого-нибудь, без разницы), затем выберите его и щелкните F8. Убедитесь, что конвертируете вы именно в Movie Clip. Потом выберите результат и задайте Instance Name -> box.
Пишем такой код (предварительно создав новый слой): box.addEventListener(MouseEvent.CLICK, boxMove); Можете нажать Ctrl+Enter, но ничего хорошего не получите. Мы определили событие, однако его нужно ещеобработать. Среднестатистический обработчик событий ActionScript выглядит так: function название_фунции(e:тип_слушателя):void{тело_функции} Кстати говоря, %название_функции% и то, что идет вопределении событияпосле (у нас) MouseEvent.CLICK должны быть идентичными. Обработаем событие так: function boxMove(e:MouseEvent):void
{
box.x += 5;
}
Вот полный листинг программы: import flash.events.MouseEvent;
box.addEventListener(MouseEvent.CLICK, boxMove);
function boxMove(e:MouseEvent):void
{
box.x += 5;
}
Теперь, на посашок, дам вам события крысы: - MouseEvent.CLICK – сделано нажатие и отпускание ЛКМ над рабочей областью;
- MouseEvent.MOUSE_DOWN – сделано нажатие ЛКМ;
- MouseEvent.MOUSE_UP – сделано отпускание ЛКМ;
- MouseEvent.DOUBLE_CLICK – событие происходит после 2-го щелчка
- MouseEvent.MOUSE_MOVE – событие происходит, если курсор перемещается над областью отображения;
- MouseEvent.MOUSE_OVER – событие происходит, если указатель перемещается на объект. Чтобы событие произошло еще раз, курсор нужно поместить за пределы объекта, а потом снова навести его на объект.
- MouseEvent.MOUSE_OUT – событие происходит, если указатель перемещается за пределы области объекта;
- MouseEvent.MOUSE_WHEEL – событие происходит, если указатель расположен над рабочим объектом и пользователь крутит колесо;
Событие ENTER_FRAME. Это чудесное событие поможет нам сделать движение объекта. Делается это так: stage.addEventListener(Event.ENTER_FRAME, ef);
function ef(e:Event):void
{
box.x += 2;
}
Заработало? Еще бы. Теперь сделаем, чтобы когда мы щелкаем на кнопку (которую вы предварительно нарисуете и дадите имя btn), квадрат переходил в 0 по иксу. Делают это так: btn.addEventListener(MouseEvent.CLICK, btnClk);
function btnClk(e:Event):void
{
box.x = 0;
}
Полный листинг второй программы: import flash.events.MouseEvent;
import flash.events.Event;
stage.addEventListener(Event.ENTER_FRAME, ef);
function ef(e:Event):void
{
box.x += 2;
}
btn.addEventListener(MouseEvent.CLICK, btnClk);
function btnClk(e:Event):void
{
box.x = 0;
}
Это все. Удачи!
Урок 4 - Переменные, массивы, константы в ActionScript
|