13. Событие MOUSE_LEAVE или как узнать что мышка за пределами SWF

В ActionScript 3 можно определить что мышка ушла за пределы флеш-ролика, используя событие mouseLeave для stage. Это событие происходит каждый раз, когда мышка покидает пределы ролика. Нет события mouseEnter, но можно использовать mouseMove для определения того, что мышка вернулась к нам.
Простой пример использования нарисованного квадрата в качестве своего курсора.
Код:
package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.ui.Mouse; public class Test extends Sprite { private var cursor:Sprite = new Sprite(); public function Test() { cursor.graphics.beginFill(0xFF); cursor.graphics.drawRect(0, 0, 25, 25); addChild(cursor); stage.addEventListener(Event.MOUSE_LEAVE, cursorHide); stage.addEventListener(MouseEvent.MOUSE_MOVE, cursorFollow); Mouse.hide(); } public function cursorHide(evt:Event):void { cursor.visible = false; } public function cursorFollow(evt:MouseEvent):void { if (!cursor.visible) cursor.visible = true; cursor.x = stage.mouseX; cursor.y = stage.mouseY; evt.updateAfterEvent(); } } }
Когда мышка уходит за пределы флеш-ролика, наш курсор прячется. Когда мышка возвращается по событию mouseMove курсор снова отображается. Сделать такое в предыдущих версиях AS было нельзя.