My proximity class
Published by admin July 23rd, 2006 in General, Flash Platformclass 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.
No Responses to “My proximity class”
Please Wait
Leave a Reply