ГлавнаяActionScript 3 — «100 советов» › Создание события mouseWithin (мышка внутри)

Создание события mouseWithin (мышка внутри)

June 19th, 2006
В Director Lingo есть удобное событие mouseWithin, которое генерится каждый фрейм, если мышь находится в пределах мувиклипа. Это событие довольно просто реализовать на ActionScript 3. (Конечно можно и на ActionScript 1 или 2, но придется заюзать методы onRollOver и onEnterFrame, а они могут понадобиться и для других целей. В AS3 такой проблемы нет, т.к. вы можете на одно событие навесить сколько угодно слушателей.)
Итак, для реализации события mouseWithin нужно, по событию входа мышки на мувиклип подключиться к событию enterFrame и рассылать каждый фрейм mouseWithin, пока мышь не покинет пределы мувиклипа.

Код:
// Реализация события mouseWithin private function addMouseWithin(event:MouseEvent):void { addEventListener(Event.ENTER_FRAME, mouseWithin); } private function removeMouseWithin(event:MouseEvent):void { removeEventListener(Event.ENTER_FRAME, mouseWithin); } private function mouseWithin(event:Event):void { dispatchEvent(new MouseEvent("mouseWithin")); } // В конструкторе public function MySpriteClass() { addEventListener(MouseEvent.MOUSE_OVER, addMouseWithin); addEventListener(MouseEvent.MOUSE_OUT, removeMouseWithin); }

Для обработки такого события просто добавьте слушателя:

Код:
addEventListener("mouseWithin", mouseWithinHandler);

Категория: ActionScript 3 — «100 советов» Ярлыки: ,

Смотрите также

Динамичность класса не наследуется Ключевое слово final
  1. Пока без комментариев.
  1. Пока нету.