
Multilayer Flash Website Backgrounds Tutorial for CS3 and CS4
Learn how to create awesome multilayer easing backbrounds for your flash projects. They can also each be clickable items instead of design elements only. This one should spark some great sites. Happy Coding!
Lesson Code
// Set stage instance, and get width and Height numbers for stage
var myStage:Stage = this.stage;
var stageW:int = myStage.stageWidth;
var stageH:int = myStage.stageHeight;
// Set variables for numbers we need in our equations
var diff1X:int = clip1_mc.width - stageW;
var diff1Y:int = clip1_mc.height - stageH;
var diff2X:int = clip2_mc.width - stageW;
var diff2Y:int = clip2_mc.height - stageH;
var diff3X:int = clip3_mc.width - stageW;
var diff3Y:int = clip3_mc.height - stageH;
var easeSpeed:int = 10;
var offSet:int = 0;
// Listeners on the stage to Add / Remove Enter Frame Events
myStage.addEventListener(MouseEvent.MOUSE_OVER, addEnterFrameEvent);
myStage.addEventListener(MouseEvent.MOUSE_OUT, removeEnterFrameEvent);
// Add Enter Frame Event Function
function addEnterFrameEvent (event:MouseEvent):void {
addEventListener(Event.ENTER_FRAME, activate);
}
// Remove Enter Frame Event Function
function removeEnterFrameEvent (event:MouseEvent):void {
removeEventListener(Event.ENTER_FRAME, activate);
}
// Function that activates the movement (MOUSE_OVER stage)
function activate(event:Event):void {
var divX:Number = mouseX / stageW;
var divY:Number = mouseY / stageH;
var moveX:Number = divX * diff1X;
var moveY:Number = divY * diff1Y;
var moveclip2X:Number = divX * diff2X;
var moveclip2Y:Number = divY * diff2Y;
var moveclip3X:Number = divX * diff3X;
var moveclip3Y:Number = divY * diff3Y;
clip1_mc.x += (offSet - moveX - clip1_mc.x) / easeSpeed;
clip1_mc.y += (offSet - moveY - clip1_mc.y) / easeSpeed;
clip2_mc.x += (offSet - moveclip2X - clip2_mc.x) / easeSpeed;
clip2_mc.y += (offSet - moveclip2Y - clip2_mc.y) / easeSpeed;
clip3_mc.x += (offSet - moveclip3X - clip3_mc.x) / easeSpeed;
clip3_mc.y += (offSet - moveclip3Y - clip3_mc.y) / easeSpeed;
}