AS3 Fade flicker on button edges

Hi,

I’m working on a project where I need to make a picture of a building fade darker on mouse over, while sections of the building get brighter. The sections rise up when you hover over them and will load a pdf when you click.

Everything works fine so far except that when the mouse goes over the edges of the buttons the background and the buttons fade back in and out again.

I only want them to fade out when the mouse leaves the stage.

I’m sure the solution is simple but I have been trying all day and can’t find a one anywhere.

Please help me!


import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.net.URLRequest;

stage.addEventListener(MouseEvent.MOUSE_OVER,fadeIn, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_OUT,fadeOut, false, 0, true);

//Buttons
btnD06.addEventListener(MouseEvent.MOUSE_OVER,mcD06Up, false, 0, true);
btnD06.addEventListener(MouseEvent.MOUSE_OUT,mcD06Down, false, 0, true);
btnD08.addEventListener(MouseEvent.MOUSE_OVER,mcD08Up, false, 0, true);
btnD08.addEventListener(MouseEvent.MOUSE_OUT,mcD08Down, false, 0, true);
btnD13.addEventListener(MouseEvent.MOUSE_OVER,mcD13Up, false, 0, true);
btnD13.addEventListener(MouseEvent.MOUSE_OUT,mcD13Down, false, 0, true);
btnD23.addEventListener(MouseEvent.MOUSE_OVER,mcD23Up, false, 0, true);
btnD23.addEventListener(MouseEvent.MOUSE_OUT,mcD23Down, false, 0, true);
btnD24.addEventListener(MouseEvent.MOUSE_OVER,mcD24Up, false, 0, true);
btnD24.addEventListener(MouseEvent.MOUSE_OUT,mcD24Down, false, 0, true);
btnD27.addEventListener(MouseEvent.MOUSE_OVER,mcD27Up, false, 0, true);
btnD27.addEventListener(MouseEvent.MOUSE_OUT,mcD27Down, false, 0, true);
btnD28.addEventListener(MouseEvent.MOUSE_OVER,mcD28Up, false, 0, true);
btnD28.addEventListener(MouseEvent.MOUSE_OUT,mcD28Down, false, 0, true);

//Follow Mouse
btnD06.addEventListener(MouseEvent.MOUSE_MOVE,btnD06Follow, false, 0, true);
btnD08.addEventListener(MouseEvent.MOUSE_MOVE,btnD08Follow, false, 0, true);
btnD13.addEventListener(MouseEvent.MOUSE_MOVE,btnD13Follow, false, 0, true);
btnD23.addEventListener(MouseEvent.MOUSE_MOVE,btnD23Follow, false, 0, true);
btnD24.addEventListener(MouseEvent.MOUSE_MOVE,btnD24Follow, false, 0, true);
btnD27.addEventListener(MouseEvent.MOUSE_MOVE,btnD27Follow, false, 0, true);
btnD28.addEventListener(MouseEvent.MOUSE_MOVE,btnD28Follow, false, 0, true);

bkgDark.alpha = 0;

labelFollow.alpha = 0;

ShadowD06.alpha = 0;
ShadowD08.alpha = 0;
ShadowD28.alpha = 0;
ShadowD23.alpha = 0;
ShadowD13.alpha = 0;
ShadowD27.alpha = 0;
ShadowD24.alpha = 0;

mcD06.alpha = 0;
mcD08.alpha = 0;
mcD28.alpha = 0;
mcD23.alpha = 0;
mcD13.alpha = 0;
mcD27.alpha = 0;
mcD24.alpha = 0;

//Fade In/Fade Out
function fadeIn(event:MouseEvent):void{
        var fade:Tween = new Tween(bkgDark, "alpha", Strong.easeOut, 0, 1, 1, true);
        var mcD06Alpha:Tween = new Tween(mcD06, "alpha", Strong.easeOut, 0, 1, 1, true);
        var mcD08Alpha:Tween = new Tween(mcD08, "alpha", Strong.easeOut, 0, 1, 1, true);
        var mcD28Alpha:Tween = new Tween(mcD28, "alpha", Strong.easeOut, 0, 1, 1, true);
        var mcD23Alpha:Tween = new Tween(mcD23, "alpha", Strong.easeOut, 0, 1, 1, true);
        var mcD13Alpha:Tween = new Tween(mcD13, "alpha", Strong.easeOut, 0, 1, 1, true);
        var mcD27Alpha:Tween = new Tween(mcD27, "alpha", Strong.easeOut, 0, 1, 1, true);
        var mcD24Alpha:Tween = new Tween(mcD24, "alpha", Strong.easeOut, 0, 1, 1, true);
}
function fadeOut(event:MouseEvent):void{
        var fade:Tween = new Tween(bkgDark, "alpha", Strong.easeOut, 1, 0, 1, true);
        var mcD06Alpha:Tween = new Tween(mcD06, "alpha", Strong.easeOut, 1, 0, 1, true);
        var mcD08Alpha:Tween = new Tween(mcD08, "alpha", Strong.easeOut, 1, 0, 1, true);
        var mcD28Alpha:Tween = new Tween(mcD28, "alpha", Strong.easeOut, 1, 0, 1, true);
        var mcD23Alpha:Tween = new Tween(mcD23, "alpha", Strong.easeOut, 1, 0, 1, true);
        var mcD13Alpha:Tween = new Tween(mcD13, "alpha", Strong.easeOut, 1, 0, 1, true);
        var mcD27Alpha:Tween = new Tween(mcD27, "alpha", Strong.easeOut, 1, 0, 1, true);
        var mcD24Alpha:Tween = new Tween(mcD24, "alpha", Strong.easeOut, 1, 0, 1, true);
}

//Follow
function btnD06Follow(event:MouseEvent):void {labelFollow.x=mouseX; labelFollow.y=mouseY;}
function btnD08Follow(event:MouseEvent):void {labelFollow.x=mouseX; labelFollow.y=mouseY;}
function btnD28Follow(event:MouseEvent):void {labelFollow.x=mouseX; labelFollow.y=mouseY;}
function btnD23Follow(event:MouseEvent):void {labelFollow.x=mouseX; labelFollow.y=mouseY;}
function btnD13Follow(event:MouseEvent):void {labelFollow.x=mouseX; labelFollow.y=mouseY;}
function btnD27Follow(event:MouseEvent):void {labelFollow.x=mouseX; labelFollow.y=mouseY;}
function btnD24Follow(event:MouseEvent):void {labelFollow.x=mouseX; labelFollow.y=mouseY;}


//D06 Up/Down
function mcD06Up(event:MouseEvent):void{
        var upx:Tween = new Tween(mcD06, "x", Strong.easeOut, 705, 710, 0.5, true);
        var upy:Tween = new Tween(mcD06, "y", Strong.easeOut, 343, 338, 0.5, true);
        var shUp:Tween = new Tween(ShadowD06, "alpha", Strong.easeOut, 0, 1, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0, 0.7, 0.1, true);
}
function mcD06Down(event:MouseEvent):void{
        var downx:Tween = new Tween(mcD06, "x", Strong.easeOut, 710, 705, 0.5, true);
        var downy:Tween = new Tween(mcD06, "y", Strong.easeOut, 338, 343, 0.5, true);
        var shDown:Tween = new Tween(ShadowD06, "alpha", Strong.easeOut, 1, 0, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0.7, 0, 0.1, true);
}

//D08 Up/Down
function mcD08Up(event:MouseEvent):void{
        var upx:Tween = new Tween(mcD08, "x", Strong.easeOut, 0, -6, 0.5, true);
        var upy:Tween = new Tween(mcD08, "y", Strong.easeOut, 46, 36, 0.5, true);
        var shUp:Tween = new Tween(ShadowD08, "alpha", Strong.easeOut, 0, 1, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0, 0.7, 0.1, true);

}
function mcD08Down(event:MouseEvent):void{
        var downx:Tween = new Tween(mcD08, "x", Strong.easeOut, -6, 0, 0.5, true);
        var downy:Tween = new Tween(mcD08, "y", Strong.easeOut, 36, 46, 0.5, true);
        var shDown:Tween = new Tween(ShadowD08, "alpha", Strong.easeOut, 1, 0, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0.7, 0, 0.1, true);
}

//D28 Up/Down
function mcD28Up(event:MouseEvent):void{
        var upx:Tween = new Tween(mcD28, "x", Strong.easeOut, 201, 203, 0.5, true);
        var upy:Tween = new Tween(mcD28, "y", Strong.easeOut, 139, 130, 0.5, true);
        var shUp:Tween = new Tween(ShadowD28, "alpha", Strong.easeOut, 0, 1, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0, 0.7, 0.1, true);
}
function mcD28Down(event:MouseEvent):void{
        var downx:Tween = new Tween(mcD28, "x", Strong.easeOut, 203, 201, 0.5, true);
        var downy:Tween = new Tween(mcD28, "y", Strong.easeOut, 130, 139, 0.5, true);
        var shDown:Tween = new Tween(ShadowD28, "alpha", Strong.easeOut, 1, 0, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0.7, 0, 0.1, true);
}

//D23 Up/Down
function mcD23Up(event:MouseEvent):void{
        var upx:Tween = new Tween(mcD23, "x", Strong.easeOut, 0, -6, 0.5, true);
        var upy:Tween = new Tween(mcD23, "y", Strong.easeOut, 300, 291, 0.5, true);
        var shUp:Tween = new Tween(ShadowD23, "alpha", Strong.easeOut, 0, 1, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0, 0.7, 0.1, true);
}
function mcD23Down(event:MouseEvent):void{
        var downx:Tween = new Tween(mcD23, "x", Strong.easeOut, -6, 0, 0.5, true);
        var downy:Tween = new Tween(mcD23, "y", Strong.easeOut, 291, 300, 0.5, true);
        var shDown:Tween = new Tween(ShadowD23, "alpha", Strong.easeOut, 1, 0, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0.7, 0, 0.1, true);
}

//D13 Up/Down
function mcD13Up(event:MouseEvent):void{
        var upx:Tween = new Tween(mcD13, "x", Strong.easeOut, 297, 305, 0.5, true);
        var upy:Tween = new Tween(mcD13, "y", Strong.easeOut, 240, 234, 0.5, true);
        var shUp:Tween = new Tween(ShadowD13, "alpha", Strong.easeOut, 0, 1, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0, 0.7, 0.1, true);
}
function mcD13Down(event:MouseEvent):void{
        var downx:Tween = new Tween(mcD13, "x", Strong.easeOut, 305, 297, 0.5, true);
        var downy:Tween = new Tween(mcD13, "y", Strong.easeOut, 234, 240, 0.5, true);
        var shDown:Tween = new Tween(ShadowD13, "alpha", Strong.easeOut, 1, 0, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0.7, 0, 0.1, true);
}

//D27 Up/Down
function mcD27Up(event:MouseEvent):void{
        var upx:Tween = new Tween(mcD27, "x", Strong.easeOut, 626, 629, 0.5, true);
        var upy:Tween = new Tween(mcD27, "y", Strong.easeOut, 479, 472, 0.5, true);
        var shUp:Tween = new Tween(ShadowD27, "alpha", Strong.easeOut, 0, 1, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0, 0.7, 0.1, true);
}
function mcD27Down(event:MouseEvent):void{
        var downx:Tween = new Tween(mcD27, "x", Strong.easeOut, 629, 626, 0.5, true);
        var downy:Tween = new Tween(mcD27, "y", Strong.easeOut, 472, 479, 0.5, true);
        var shDown:Tween = new Tween(ShadowD27, "alpha", Strong.easeOut, 1, 0, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0.7, 0, 0.1, true);
}

//D24 Up/Down
function mcD24Up(event:MouseEvent):void{
        var upx:Tween = new Tween(mcD24, "x", Strong.easeOut, 729, 736, 0.5, true);
        var upy:Tween = new Tween(mcD24, "y", Strong.easeOut, 553, 548, 0.5, true);
        var shUp:Tween = new Tween(ShadowD24, "alpha", Strong.easeOut, 0, 1, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0, 0.7, 0.1, true);
}
function mcD24Down(event:MouseEvent):void{
        var downx:Tween = new Tween(mcD24, "x", Strong.easeOut, 736, 729, 0.5, true);
        var downy:Tween = new Tween(mcD24, "y", Strong.easeOut, 548, 553, 0.5, true);
        var shDown:Tween = new Tween(ShadowD24, "alpha", Strong.easeOut, 1, 0, 0.5, true);
        var labelAlpha:Tween = new Tween(labelFollow, "alpha", Strong.easeOut, 0.7, 0, 0.1, true);
}