Does anyone know what I am doing wrong? I am trying to make it so when the mouse leaves the stage it stops the drag, but no matter what I do it does not work, the function I am trying to do it in is onMouseLeave();
Here is my code and the corresponding code:
import fl.controls.Slider;
import fl.events.SliderEvent;
import flash.ui.Mouse;
var hasMouse:Boolean = false;
cursor.visible = false;
zoom_slider['slider'].addEventListener(SliderEvent.CHANGE, onSlide);
zoom_slider.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
zoom_slider.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
site_map.addEventListener(MouseEvent.MOUSE_DOWN, onMouseClick);
site_map.addEventListener(MouseEvent.MOUSE_UP, onMouseRelease);
site_map.addEventListener(Event.MOUSE_LEAVE, onMouseLeave);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMovement);
stage.addEventListener(MouseEvent.MOUSE_WHEEL, MouseWheelHandler);
function onMouseEnter():void {
if (zoom_slider['slider'].value <= 0) {
cursor.visible = false;
Mouse.show();
} else {
cursor.visible = true;
cursor.gotoAndStop(1);
cursor.startDrag(true);
}
}
function onMouseLeave(event:Event):void {
cursor.stopDrag();
cursor.startDrag(false);
hasMouse = false;
cursor.gotoAndStop(1);
cursor.stopDrag();
cursor.visible = false;
}
function onMouseMovement(event:MouseEvent):void {
if (!hasMouse) {
hasMouse = true;
onMouseEnter();
}
cursor.x = mouseX;
cursor.y = mouseY;
}
function MouseWheelHandler(event:MouseEvent):void {
zoom_slider['slider'].value = zoom_slider['slider'].value + event.delta;
zoom_slider['slider'].dispatchEvent(new SliderEvent(SliderEvent.CHANGE, zoom_slider['slider'].value, 'SliderEventClickTarget.THUMB', 'InteractionInputType.MOUSE'));
}
function onSlide(event:SliderEvent):void {
if (event.target.value == 0) {
cursor.visible = false;
Mouse.show();
} else {
cursor.visible = true;
Mouse.hide();
}
site_map.scaleX = site_map.scaleY = (event.target.value + 5) / 5;
site_map.x = (site_map.width - site_map.stage.stageWidth) / -2;
site_map.y = (site_map.height - site_map.stage.stageHeight) / -2;
}
function onMouseOver(event:Event):void {
if (zoom_slider['slider'].value > 0) {
cursor.visible = false;
Mouse.show();
}
}
function onMouseOut(event:Event):void {
if (zoom_slider['slider'].value > 0) {
cursor.visible = true;
Mouse.hide();
}
}
function onMouseClick(event:MouseEvent):void {
var boundsBoxX:Number = (site_map.stage.stageWidth - site_map.width);
var boundsBoxY:Number = site_map.stage.stageHeight - site_map.height;
var boundsBoxWidth:Number = (site_map.width - site_map.stage.stageWidth);
var boundsBoxHeight:Number = (site_map.height - site_map.stage.stageHeight);
var boundsBox:Rectangle = new Rectangle(boundsBoxX, boundsBoxY, boundsBoxWidth, boundsBoxHeight);
//trace(site_map.width + ' ' + site_map.height + ' ' + boundsBoxWidth + ' ' + boundsBoxHeight);
//trace(site_map.width + ' ' + site_map.stage.stageWidth + ' ' + boundsBoxWidth + ' ' + boundsBoxX);
cursor.gotoAndStop(2);
event.currentTarget.startDrag(false, boundsBox);
}
function onMouseRelease(event:MouseEvent):void {
cursor.gotoAndStop(1);
event.target.stopDrag();
}