Когда вы запускаете событие мыши, которое имеет прослушиватель, прикрепленный к нему, то функция, связанная с этим слушателем, будет вызвана. Период. Вам не нужно снова проверять, произошло ли событие мыши. Это целая красота слушателей событий. Чтобы убедиться, что вы его получили, я отправлю пример.
stage.addEventListener(MouseEvent.CLICK,mClick);
Отлично. Мы добавили слушателя на сцену. Теперь, когда вы нажимаете в любом месте сцены, этот слушатель вызовет функцию mClick
для вызова. Теперь напишем функцию mClick
.
private function mClick(me:MouseEvent):void{
trace("me.target.x",me.target.x);
trace("me.target.y",me.target.y);
}
me
просто переменная, которую мы выбрали, чтобы представить событие, которое инициировало эту функцию. Event
- класс. A MouseEvent
является подклассом Event
. Поэтому мы говорим, что me
является Event
подкатегория MouseEvent
и что это ожидаемый ввод для этой функции. Если бы вы попытались вызвать эту функцию в другом месте вашего кода, это вызовет ошибку, говорящую, что эта функция ожидает какой-то входной сигнал.
me.target
является вещь, которая вызвала событие, которое активируется. В этом случае это мышь, поэтому me.target.x
будет x-позицией мыши в момент щелчка мыши.
Это все, что нужно. Вы просто немного смутили себя, пытаясь применить конкретное решение к другой проблеме, а именно, как регистрировать нажатия клавиш на клавиатуре. Они обрабатываются немного принципиально по-разному. С помощью клавиатуры мы проверяем прослушивание, если на клавиатуре была нажата клавиша a, а затем в обработчике событий мы определяем , который был нажат клавишей. С событиями мыши у нас будет другой слушатель для перемещения мыши, щелчка мыши, щелчок левой кнопкой мыши и средний щелчок мышью. Поскольку каждый из этих конкретных событий имеет свой собственный слушатель, мы не должны оценить, какая кнопка была нажата в обработчике:
public function left(e:KeyboardEvent):void
{
if (e.keycode == 65)
{
leftKey = true;
}
}
e
это то, что вызвало событие. В этом случае клавиша клавиатуры. Каждый ключ имеет код ключа. Но вместо написания другого слушателя для каждого отдельного ключа на клавиатуре мы можем просто написать один прослушиватель и одну функцию, а затем оценить, какая клавиша была нажата внутри функции. Как указывалось выше, с помощью мыши левая кнопка мыши получает свой собственный прослушиватель событий, поэтому нет необходимости (или способности) проверять это в прослушивателе событий. Есть такие объекты, как ROLL_OVER
и MOUSE_UP
и MOUSE_DOWN
. Посмотрите документацию для полного списка.
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/MouseEvent.html –
Вы имеете в виду левую, среднюю или правую кнопки мыши? Или, если нажата клавиша клавиатуры? Во всяком случае, документация по этому поводу великолепна. Просто прочитайте это, и вы должны увидеть, что вам нужно сделать. Вернитесь сюда, если у вас есть более конкретный вопрос. –
Потому что ваш пример на самом деле не имеет смысла ... как может быть ключевой код для мыши MOVE? –