Руководство по actionscript. часть 4, стр. 039
Для каждой из перечисленных категорий мы рассмотрим конкретные события, предлагаемые интерфейсом API приложения Flash Player, и код, необходимый для обработки этих событий.
Представленные в этой главе описания событий относятся к приложению Flash Player (к версии, реализованной в виде модуля расширения браузера, и к автономной версии), но в целом данная информация применима и к любой другой среде, поддерживающей ввод данных с помощью мыши и клавиатуры (например, приложение Adobe AIR). Если вы используете другие среды выполнения, обязательно просмотрите соответствующую документацию по событиям ввода. Официальную справочную информацию, относящуюся к событиям ввода приложения Flash Player, можно найти в разделе Constants описания класса Event и его подклассов в справочнике по языку ActionScript корпорации Adobe. Полезная информация также находится в разделе Events описания классов TextField, DisplayObject, InteractiveObject и Stage.
Перед тем как приступить к нашему знакомству с конкретными событиями ввода, бегло рассмотрим некоторые основные правила, относящиеся ко всем событиям ввода.
Только экземпляры класса InteractiveObject. Уведомления о возникновении событий ввода отправляются экземплярам только тех классов, которые наследуются от класса InteractiveObject (Sprite, TextField, Stage, Loader, MovieClip, SimpleButton и подклассов этих классов). Объекты других типов не получают уведомления о возникновении событий ввода, даже если эти объекты находятся в списке отображения. Например, экземпляры класса Shape могут помещаться в список отображения, однако класс Shape не наследуется от класса InteractiveObject, поэтому экземпляры класса Shape не получают уведомления о возникновении событий ввода. Если объект Shape визуально перекрывает объект TextField и пользователь щелкает кнопкой мыши на объекте Shape, получателем результирующего события щелчка будет являться не Shape,
a TextField. Чтобы организовать взаимодействие с объектом Shape или объектом Bitmap, поместите его в контейнер (Sprite или MovieClip) и зарегистрируйте приемник в этом контейнере для событий ввода.
Только объекты из списка отображения. Объекты, не находящиеся в списке отображения на момент диспетчеризации приложением Flash Player некоторого события ввода, не смогут получить уведомление о возникновении этого события.
Поведение по умолчанию. Некоторые события ввода вызывают стандартную реакцию приложения Flash Player, называемую поведением по умолчанию. Например, перемещение указателя мыши над экземпляром класса SimpleButton приводит к тому, что этот экземпляр отображает графическое изображение, связанное с состоянием «над» (когда указатель мыши находится над данным экземпляром). В некоторых случаях поведение по умолчанию приложения Flash Player может быть отменено путем вызова метода экземпляра preventDefault ( ) класса Event. Дополнительную информацию можно найти в разд. «Отмена стандартного поведения событий» гл. 12.
Теперь переходим непосредственно к событиям!
События мыши
Приложение Flash Player выполняет диспетчеризацию событий мыши, когда пользователь производит манипуляции с системным указательным устройством. К указательным устройствам, которые могут генерировать события мыши, относятся: мышь, трекбол, сенсорный планшет ноутбука, джойстик ноутбука и перо. Тем не менее для удобства в этой книге используется всеобъемлющий термин «мышь», подразумевающий системное указательное устройство. События мыши могут возникать в результате следующих типов манипуляций:
? нажатие или отпускание левой кнопки мыши;
? перемещение указателя;
? использование колесика прокрутки мыши (например, вращение).