Hola

Estoy realizando una marquesina que muestre las noticias de forma horizontal. El efecto que consigo es mover la marquesina através del evento ENTERFRAME de la movie pero parpadea y cansa la vista despues de cierto tiempo. Quiero darle efecto de deslizar y no de cambiar la coordenada X. Como puedo hacerlo?

El codigo a continuacion muestra la carga de los campos de texto de noticias en la movie de la marquesina:

Código :

import fl.containers.UILoader;
import fl.events.*;
import flash.xml.*;
import flash.display.MovieClip;

var sheet:StyleSheet = new StyleSheet();

llamaCSS("noticias.css");

function llamaCSS(archivo:String):void
{
   var cargaDatosCSS:URLLoader = new URLLoader();
   cargaDatosCSS.load(new URLRequest(archivo));
   cargaDatosCSS.addEventListener(Event.COMPLETE, manejadorCargaCSS);
}

function manejadorCargaCSS(event:Event):void {
         sheet.parseCSS(event.currentTarget.data);
         llamaXML("noticias.xml");
}

function llamaXML(archivo:String):void
{
   var cargaDatosXML:URLLoader = new URLLoader();
   cargaDatosXML.load(new URLRequest(archivo));
   cargaDatosXML.addEventListener(Event.COMPLETE, ManejadorCargaXML);
}

function ManejadorCargaXML(eventObj:Event):void {
   var cargaXML= new XML(eventObj.currentTarget.data).elements("*");
   var i:int = 1;
   var posicion:Number = 0;
   var m:Number = 0;
   for each (var prop:XML in cargaXML) {
      var vnData:XML = prop;
      //trace(vnData.toXMLString());
      var caja:MovieClip = new MovieClip();
      var addcadena:String = "<h1>" + vnData.@titulo + "</h1>" + 
               "<p><span class='noticia'>" + 
vnData.@noticia + " </span></p>";
      var t:TextField= new TextField();
      t.styleSheet = sheet;
      t.text = addcadena;
      t.autoSize = TextFieldAutoSize.LEFT;
      m = t.textWidth;
      caja.addChild(t);
      caja.y = 0;
      caja.x = posicion;
      trace("posicion Caja: ", posicion);
      posicion += caja.width + 30; 
      caja.name = "caja" + i;
      addChild(caja);
      i++;
   }
}


Ahora en el Stage, hago que la marquesina se mueva:

Código :

import fl.events.*;

//import flash.display.MovieClip;
var posicion_actual:Number = stage.width;
var se_mueve:Boolean = true;
marquesina.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
marquesina.addEventListener(MouseEvent.ROLL_OVER , mouseRollOverHandler);
marquesina.addEventListener(MouseEvent.ROLL_OUT , mouseRollOutHandler);

function enterFrameHandler(event:Event):void {
   posicion_actual = marquesina.x;
   if (se_mueve == true) {
      marquesina.x-=1;
   } else {
      marquesina.x = posicion_actual;
   }
   if (marquesina.x<=0-marquesina.width) {
      marquesina.x = 850; // ancho del stage
   } 
}
function mouseRollOverHandler(event:Event):void {
   se_mueve = false;
}
function mouseRollOutHandler(event:Event):void {
   se_mueve = true;
}



Este código funciona perfectamente. El problema es que el efecto producido es un movimiento tembloroso y quiero más bien que se deslice suavemente y que permita leer las noticias como los applet de java....

Saludos