Tengo un mapa con objetos en su interior contenido en un sprite (mapHolder). Lo que quiero hacer es muy sencillo, hacer zoom sobre una región del mapa al mover la rueda del mouse. El zoom lo hace pero el problema lo tengo al reubicar la posición del mapa tras hacer el escalado. Quiero que se amplie/reduzca la zona sobre la que hago zoom y se centre.
El problema lo tengo al volver a posicionar el mapa en pantalla.
¿Alguna sugerencia?
Gracias de antemano
Código ActionScript :
mapHolder.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheelHandler);
private function onMouseWheelHandler(mouseEvent:MouseEvent):void {
zoomCenter = globalToLocal(new Point(mouseEvent.localX, mouseEvent.localY));
if(mouseEvent.delta > 0) zoomIn();
else zoomOut();
mapHolder.x = mapHolder.x - zoomCenter.x;
mapHolder.y = mapHolder.y - zoomCenter.y;
}//end 'function'
public function zoomIn():void {
if ((mapHolder.scaleX < 1.30) && (mapHolder.scaleY < 1.30)){
mapHolder.scaleX += 0.15;
mapHolder.scaleY += 0.15;
}
}//end 'function'
public function zoomOut():void {
if ((mapHolder.scaleX > 0.65) && (mapHolder.scaleY > 0.65)) {
mapHolder.scaleX -= 0.15;
mapHolder.scaleY -= 0.15;
}
}//end 'function'
