var originalWidth:Number;
var originalHeight:Number;
var originalXPosition:Number;
var originalYPosition:Number;
if (originalWidth == null) {
StateMachinePart.setMask(Mask);
originalWidth = StateMachinePart._width;
originalHeight = StateMachinePart._height;
originalXPosition = StateMachinePart._x;
originalYPosition = StateMachinePart._y;
}
targetX = originalWidth/1;
targetY = originalHeight/1;
//targetW = originalWidth-50;
//targetH = originalHeight-50;
function zoomToState(stateX, stateY, stateH, stateW, mouseWheel) {
if (!mouseWheel) {
stateScale = targetW/stateW;
if (stateScale*stateH>targetH) {
stateScale = targetH/stateH;
}
mapX = targetX-(stateX*stateScale);
mapY = targetY-(stateY*stateScale);
} else {
stateScale = originalWidth/stateW;
if (stateScale*stateH>originalHeight) {
stateScale = originalHeight/stateH;
}
mapX = originalXPosition-(stateX*stateScale);
mapY = originalYPosition-(stateY*stateScale);
}
_root.onEnterFrame = function() {
//StateMachinePart._x -= (StateMachinePart._x-mapX)/5;
//StateMachinePart._y -= (StateMachinePart._y-mapY)/5;
StateMachinePart._xscale -= (StateMachinePart._xscale-(stateScale*100))/5;
StateMachinePart._yscale -= (StateMachinePart._yscale-(stateScale*100))/5;
if (Math.abs(StateMachinePart._x-mapX)<.5 && Math.abs(StateMachinePart._y-mapY)<.5 && Math.abs
(StateMachinePart._xscale-(stateScale*100))<.5) {
delete (_root.onEnterFrame);
}
};
}
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
pt1 = {x:originalXPosition, y:originalYPosition};
pt2 = {x:originalXPosition-originalWidth/2, y:originalYPosition-originalHeight/2};
pt3 = {x:originalXPosition+originalWidth/2, y:originalYPosition+originalHeight/2};
if (delta>0) {
pt2.x += 0;
pt3.x -= 260;
pt2.y += 0;
pt3.y -= 260;
} else {
pt2.x -= 0;
pt3.x += 260;
pt2.y -= 0;
pt3.y += 260;
}
StateMachinePart.globalToLocal(pt1);
StateMachinePart.globalToLocal(pt2);
StateMachinePart.globalToLocal(pt3);
_root.zoomToState(pt1.x,pt1.y,pt3.y-pt2.y,pt3.x-pt2.x,true);
};
Mouse.addListener(mouseListener);
_root.StateMachinePart.bezirke.autobahn._visible = 0;
_root.StateMachinePart.bezirke.bahn._visible = 0;
_root.StateMachinePart.bezirke.flug._visible = 0;
_root.StateMachinePart.bezirke.swkmovie._visible = 0;