Иерархия классов событий и способы обработки события в Action Script

Под основными событиями я понимаю те, которые мы наиболее часто используем в разработке наших Flash приложений, игр и, иногда даже, баннеров. Перечислим их:
1. onPress — событие, которое срабатывает при нажатии на клип;
2. onRelease — нажали на клип мышкой и отпустили. Схоже с onPress, но на мой взгляд, более удобно, что ли. Заметьте, все стандартные кнопки в Windows срабатывают именно на это событие, а не на просто «нажал». onRelease так же даёт пользователю «шанс» отказаться от нажатия, если он, допустим, нажал и понял, что не хочет нажимать =) На практике, на самом деле, встречается очень часто. Чтобы не нажимать, человеку всего-то и нужно увести курсор с объекта и отпустить зажатую кнопку мыши там;
3. onReleaseOutside — как раз то самое событие «нажал-и-отпустил-за-пределами-клипа», которое я описывал чуть выше;
4. onRollOver — навести курсором на объект;
5. onRollOut — убрать курсор мышки с объекта;
6. onEnterFrame — событие, которое срабатывает каждый раз при смене кадра в вашей флешке. Если быть точнее, то происходит это один раз в интервал времени равный смене кадра. Допустим, если FPS вашей флешки равен 30, то это событие будет происходить 30 раз в секунду.
Создание событий разберём на примере onRollOver:
obj_mc.onRollOver = function(){ this._alpha=50; }
1. obj_mc — это объект для которого мы создаём событие;
2. onRollOver — название события. Вместо него могло бы стоять onRelease, onPress или другие;
3. function(){ this._alpha=50; } — действия, которые будут происходить при наступлении данного события. В частности у нас, объект, на который мы наведём курсором мыши, станет наполовину прозрачным.
Задавать действия можно не только таким способом. Например, если у нас есть функция, вызов которой нужно производить по нажатию, то код будет следующим:
obj_mc.onPress = name_function();
Где name_function() — это имя функции, которую нужно будет выполнить.
Так же бывают случаи, когда одни и те же действия выполняются для двух или более событий. Что мы делаем в этом случае? Мы делаем следующее:
obj_mc.onRollOut = obj_mc.onReleaseOutside = function(){ this._alpha=100 };
Удаляем события
Иногда бывает так, что созданное событие требуется отлавливать не бесконечное количество раз, а только определённый период.
delete obj_mc.onRollOver;

Общая схема обработки события:
element.addEventListener(MouseEvent.CLICK, eventListener);
function eventListener(e:MouseEvent):void{/*действия*/}
Типы событий DisplayObject
Event.ADDED - конкретный экземпляр DisplayObject, который был добавлен в список отображения
Event.RENDER - Отправляется перед обновлением и визуализацией списка отображения
Event.REMOVED
Event.ENTER_FRAME
Event.EXIT_FRAME
(события для интерактивных объектов)
FocusEvent.FOCUS_IN (OUT)
KeyboardEvent.KEY_DOWN (UP)


0392987969569768.html
0393073107179787.html
    PR.RU™