My proximity class

class Proximity extends MovieClip {
public var proxRadius:Number;
public var clips:Array;
public function Proximity() {
}
public function scaleProximity(clips:Array, proxRadius:Number, fade:Boolean):Void {
for (var i:Number = 0; i < clips.length; i++) {
var scaleBuffer:Number = proxRadius+100;
var xMousePos:Number = _root._xmouse;
var yMousePos:Number = _root._ymouse;
var cx:Number = clips[i]._x;
var cy:Number = clips[i]._y;
var prox:Number = Math.round(Math.sqrt((xMousePos-cx)*(xMousePos-cx)+(yMousePos-cy)*(yMousePos-cy)));
if (prox < proxRadius) {
clips[i]._xscale = clips[i]._yscale = scaleBuffer - prox;
if (fade) {
clips[i]._alpha = proxRadius - prox;
}
} else {
clips[i]._xscale = clips[i]._yscale = 100;
if (fade) {
clips[i]._alpha = 0;
}
}
clips[i].onRollOver = function() {
this.swapDepths(_root.getNextHighestDepth());
};
}
}
}

And then in the fla, I call the scaleProximity function on an enterFrame:

var p:Proximity = new Proximity();
p.clips = [prox1, prox2, prox3];
this.onEnterFrame = function() {
p.scaleProximity(p.clips, 150, false);
};

It’s a nice slim-line class that can be re-used quickly and easily, I’ve been able to use and modify it quickly on a couple of projects.

Enjoy.

Socialise this post, find out more about the Socializer plugin for WordPress.

No Responses to “My proximity class”  

  1. No Comments

Leave a Reply