Back to Flash Portfolio

"Happy New Year Card"

Move your mouse and click arround to see the magic

Download Adobe Flash Player 10

Action Script code

Background

(3 easing layers-movie clips)

// 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;
}

Dog and cat eyes mouse follow

stage.addEventListener(MouseEvent.MOUSE_MOVE, followCursor);
function followCursor(event:MouseEvent):void {
  var coordy1 : Number = mouseY - eye1_mc.y;
var coordx1 : Number = mouseX - eye1_mc.x;
var angleRadians1 : Number = Math.atan2(coordy1,coordx1);
var angleDegrees1 : Number = angleRadians1 * 180 / Math.PI;
eye1_mc.rotation = angleDegrees1;
  var coordy2 : Number = mouseY - eye2_mc.y;
var coordx2 : Number = mouseX - eye2_mc.x;
var angleRadians2 : Number = Math.atan2(coordy2,coordx2);
var angleDegrees2 : Number = angleRadians2 * 180 / Math.PI;
eye2_mc.rotation = angleDegrees2;
}

Code for neon lights

var timerOn : Timer ;
var timerDuration : Timer ;
var glow:GlowFilter ;
function init():void{
glow = new GlowFilter(0xFFFF5B,1,5,5,2,BitmapFilterQuality.HIGH);
neon_mc.filters = [glow];
neon_mc.alpha = .1;
timerOn = new Timer(1000);
timerDuration = new Timer(3000);
timerOn.addEventListener(TimerEvent.TIMER, startGlitter);
timerDuration.addEventListener(TimerEvent.TIMER,stopGlitter);
timerOn.start();
}
function startGlitter(e:TimerEvent):void{
timerOn.stop();
timerDuration.start();
this.addEventListener(Event.ENTER_FRAME, glitter);
}
function glitter(e:Event):void{
neon_mc.alpha = .5 +(Math.random() * .5);
}
function stopGlitter(e:TimerEvent):void{
timerDuration.stop();
this.removeEventListener(Event.ENTER_FRAME,glitter);
neon_mc.alpha = .1;
timerOn.delay = 1000 + Math.random()*3000;
timerOn.start();
}
init();

Back to Flash Portfolio