
September 20th, 2006
08:51 AM
Neverside Newbie
Status: Offline!
Zooming & Panning
Ok, I have a very simple zoom code here:
on (release) {
_xscale = 400;
_yscale = 400;
_x=-800
_y=-1000
}
I want the zoom to ease in, instead of snap zooming.
Also I want to be able to pan when the mouse rolls close to the edge.

September 20th, 2006
09:14 PM
Neverside Newbie
Status: Offline!
this.onMouseMove = function() {
constrainedMove(stage_bg, 2, 0);
constrainedMove(test1, 8, 0);
constrainedMove(test2, 6, 0);
constrainedMove(test3, 4, 1);
constrainedMove(menu, 3, 1);
};
function constrainedMove(target:MovieClip, speed:Number, dir:Number) {
var mouseXPercent:Number = _xmouse/Stage.width;
var mouseYPercent:Number = _ymouse/Stage.height;
var mXSpeed:Number;
var mYSpeed:Number;
if (dir == 1) {
mXSpeed = 1-mouseXPercent;
mYSpeed = 1-mouseYPercent;
} else {
mXSpeed = mouseXPercent;
mYSpeed = mouseYPercent;
}
target.destX = Math.round(-((target._width-Stage.width)*mXSpeed));
target.destY = Math.round(-((target._height-Stage.height-140)*mYSpeed+0.2));
target.onEnterFrame = function() {
if ((target._x == target.destX) && (target._y == target.destY)) {
delete target.onEnterFrame;
} else if ((target._x-target.destX)>0) {
target._x += Math.ceil((target.destX-target._x)*(speed/30));
target._y += Math.ceil((target.destY-target._y)*(speed/50));
} else {
target._x += Math.ceil((target.destX-target._x)*(speed/30));
target._y += Math.ceil((target.destY-target._y)*(speed/50));
}
};
}

September 20th, 2006
09:16 PM
Neverside Newbie
Status: Offline!

September 20th, 2006
09:51 PM
Neverside Newbie
Status: Offline!
thx
I have a simple code for my zoom too
Here's what I used in case anyone needs it:
on (release) {
import mx.transitions.Tween;
import mx.transitions.easing.*;
var xScaleT:Tween = new Tween(this, "_xscale", Elastic.easeOut, 100, 400, 3, true);
var yScaleT:Tween = new Tween(this, "_yscale", Elastic.easeOut, 100, 400, 3, true);
var xPosT:Tween = new Tween(this, "_x", Elastic.easeOut, 0, -800, 3, true);
var yPosT:Tween = new Tween(this, "_y", Elastic.easeOut, 0, -1000, 3, true);
}