Buenas nuevamente:
hice el tuto Lector de noticias XML en Flash con imagenes que me funcionó perfectamente, al cual le sumé otro tutrial Efecto de zoom (acercamiento) a un objeto para que cada imagen que se muestre en las noticias, tenga la posibilidad de ampliarse; también me funcionó muy bien. El problema está en que la imagen tiene un determinado tamaño, que cuando se le hace el zoom y se agranda, pierde toda calidad en la resolución (obviamente porque estira la imagen para agrandarla) Intenté hacerle una máscara a la imagen de noticias para que me mostrara (no la imagen más chica sino sólo una parte de ella) pero no me ha funcionado. Cuál sería la forma correcta? o Existe la forma de que se muestre primero a un valor inicial menor y cdo haga zoom al tamaño real que es más grande?...nosé qué más hacer, busqué varias formas, pero necesito ayuda de un experto :?

El código es exactamente el mismo que esta en los tutoriales, no modifiqué absolutamente nada:

Código ActionScript :

//Permite caracteres tradicionales como letras con tilde la ñ, etc.
System.useCodepage = true; 

//Se declara la variable indice de tipo número (utilizada para referencia la noticia a mostrar)
var indice:Number; 

//Se declara la variable noticias_xml de tipo XML (utilizada para almacenar el documento xml)
var noticias_xml:XML; 

/*
Funcion cargarDatos (utilizada para cargar y cambiar las noticias en el documento)
Esta función recibe un parámetro "_indice" que corresponde al elemento noticia  a mostrar
*/
function cargarDatos(_indice:Number){
      //Se inicializan variables utilizadas para almenar los datos de una noticia
      var fecha:String;
      var titulo:String;
      var mensaje:String;
      var imagen:String;
      
      //Recuperando datos del objeto xml
      //Se accede al primer elemento [noticia] y se recupera la fecha desde el atributo [fecha]
      fecha = noticias_xml.firstChild.childNodes[_indice].attributes.fecha;
      
      //Se accede al primer hijo de elemento [noticia] y se recupera al valor del primer elemento de [titulo]
      titulo = noticias_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue;
      
      //Se accede al segundo hijo de elemento [noticia] y se recupera el valor del primer elemento de [mensaje]
      mensaje = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue
      
      //Se accede al último hijo de elemento [noticia] y se recupera el valor del primer elemento de [imagen]
      imagen = noticias_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue
      
      //Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc
      _root.mensaje_txt.htmlText = "";
      _root.mensaje_txt.htmlText += "<p align='center'><font color='#006633' size='12'><b>" + titulo + "</b></font></p>";
      _root.mensaje_txt.htmlText += "<p><font size='10'>" + mensaje + "</font>";
      _root.mensaje_txt.htmlText += "<font color='#666666' size='10'>Publicado: " + fecha + "</font></p>";
      //Cargado la imagen JPG externa en el clip pantalla_mc con el valor recuperado del objeto xml
      _root.mapa.loadMovie(imagen);   
   }

//Función que permite avanzar a la [noticia] siguiente almacenada en el objeto xml
siguiente_btn.onPress = function(){   
   //comprobando si existe el siguiente elemento [noticia]
   if(noticias_xml.firstChild.childNodes[indice+1] != null){//retringue  a avanzar solo si hay una [noticia] siguiente
         indice++; //incrementado en uno el indice
         cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
         }
   }

//Función que permite retroceder a la noticia anterior almacenada en el objeto xml   
anterior_btn.onPress = function(){
   //comprobando si existe una elemento [noticia] anterior
   if(noticias_xml.firstChild.childNodes[indice-1] != null){//retringue  a avanzar solo si hay una [noticia] anterior
         indice--; //reducciendo en uno el indice
         cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
         }
   }   
   
//Inicializaciones
indice=0; //inicializando indice en 0 para mostrar la primera noticia

//creando el objeto noticias_xml de typo XML
noticias_xml = new XML();

//Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML
noticias_xml.ignoreWhite = true;

//El método load() permite cargar el documento xml "noticias.xml"
noticias_xml.load("noticias.xml");

//El evento onLoad de activa cuado se haya cargado el documento noticias.xml
noticias_xml.onLoad = function(){
         //Se llama a la funcion cragarDatos para mostar la primera noticia (esto por la variable indice en 0)
         cargarDatos(indice);         
   }
   
   
incremento = 4;
zoomActivado = false;
ini_x=mapa._x;
ini_y=mapa._y;


function zoom(x,y,ancho,alto, aceleracion) 
{
mapa.onEnterFrame = function() 
{
this._x += (x-this._x)/aceleracion;
this._y += (y-this._y)/aceleracion;
this._width += (ancho-this._width)/aceleracion;
this._height+= (alto-this._height)/aceleracion;
if (Math.abs(x-this._x)<0.5 && Math.abs(y-this._y)<0.5 && Math.abs(ancho-this._width)<0.5 && Math.abs(alto-this._height)<0.5) 
{
this._x = x;
this._y = y;
this._width = ancho;
this._height = alto;
delete this.onEnterFrame;
}
};
};

onMouseDown =function()
{

//Esto hará la comprobación por medio de la cual verificará si las coordenadas del mouse en el momento que se presionó están sobre el clip, lo cual indicará que se ha echo click sobre él.
if (mapa.hitTest(_xmouse,_ymouse))
{
if(zoomActivado == false)
{
//Después de eso se calculará el tamaño de la película con el zoom   
Alto = incremento*mapa._height;
Ancho = incremento*mapa._width;

//Luego haremos el cálculo de la nueva posición del clip, ya que si lo dejamos en esa posición, se nos moverá hacia la derecha y hacia abajo, lo cual nos desubica, para lo cual se emplea la siguiente ecuación
xs = _xmouse-((_xmouse-mapa._x) * incremento);
ys = _ymouse-((_ymouse-mapa._y) * incremento);

//Desactivamos el Flag para el zoomOut
zoomActivado=true;
}
else
{
Alto = mapa._height/incremento;
Ancho = mapa._width/incremento;

//Luego haremos el cálculo de la nueva posición del clip, ya que si lo dejamos en esa posición, se nos moverá hacia la derecha y hacia abajo, lo cual nos desubica, para lo cual se emplea la siguiente ecuación
xs = ini_x//_xmouse-((_xmouse-mapa._x) / incremento);
ys = ini_y//_ymouse-((_ymouse-mapa._y) / incremento);

//Desactivamos el Flag para el zoomOut
zoomActivado=false;
}


//Mandamos los parametros y el onentreframe reubicara y reescalara con easing..
zoom(xs,ys,Ancho,Alto,3);
}

}