Comunidad de diseño web y desarrollo en internet online

Leer txt y mostrar cada linea en un frame diferente

Citar            
MensajeEscrito el 10 Feb 2012 09:31 pm
Hola amigos, tengo una pregunta. Quisiera cargar un txt y mostrar el contenido de una linea en un frame específico. Al menos ya se como cargar el txt:

Mi txt:

Código :

Foo
Bar
Candy
Jhon


Mi codigo en el pirmer frame:

Código ActionScript :

var myTextLoader:URLLoader = new URLLoader();
myTextLoader.addEventListener(Event.COMPLETE, onLoaded);

primero.wordWrap=true;
primero.autoSize=TextFieldAutoSize.LEFT;

function onLoaded(e:Event):void {
   var Lines:Array = e.target.data.split(/\n/);
   var primerItem:String = Lines[0];
   primero.text = primerItem;
}
myTextLoader.load(new URLRequest("es.txt"));


y esto es para ver los frames por alguno segundos...

Código ActionScript :

var timer:Timer = new Timer(3000, 1);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start(); 

function onTimer(evt:TimerEvent):void {
    this.gotoAndPlay(2);
}


Con esto logro ver "Foo" en el primer frame... pero si en el segundo frame tengo otro texto dinámico para ver la segunda línea (osea "Bar"), tendrìa que copiar toda esa función denuevo para verlo? existirá alguna otra forma más ligera?

Por lo que veo tengo el var Lines:Array que creo que contiene los datos... se podría -digo yo- "importar" ese array en cada frame y obtener el valor deseado???

Espero su ayuda :oops:

Por cesarpunk

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Feb 2012 03:34 am
Tendrías que recorrer la cadena hasta que encuentres el salto de linea, y cortarla ya despues de eso podrías mostrarla en diferentes frames

Por Pepitweet

20 de clabLevel



Genero:Masculino  

Programador novato

chrome
Citar            
MensajeEscrito el 14 Feb 2012 08:03 am
si tienes que cambiar los frames para verlos tienes que tener un TextField en cada frames ya que solo tienes uno, en el primero

pero si quieres que solo te cambien el texto en un tiempo dado solo tienes que cambiar el texto pues cambia primero.text en el onTimer sin cambiar de frame

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 28 Feb 2012 10:00 pm
Pues eso es lo que hago, poner el texto en el ontimer... pero tengo que repetir todo el código denuevo y con otra variable, caso contrario me sale el error de "función duplicada", pero ahi radica mi duda, si es que hay una manera de hacerlo sin necesidad de estar compiando el mismo código en cada frame donde voy a mostrar el texto...

Por cesarpunk

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Feb 2012 04:44 am
ya veo donde tienes el problema

Código ActionScript :

var timer:Timer = new Timer(3000, 1);

hay dos parametros en "Timer" ...el primero es el tiempo que va ha pasar hasta que salte el evento TimerEvent.TIMER y el segundo es la cantidad de veces que vas ha repetir la operacion

por lo tango

Código ActionScript :

var timer:Timer = new Timer(3000, Lines.length);

timer.addEventListener(TimerEvent.TIMER, onTimer);

timer.start(); 

function onTimer(evt:TimerEvent):void 
{
    this.gotoAndPlay(evt.target.currentCount);

     primero.text = Lines[evt.target.currentCount];
}


saludos

Por Yonomimi

76 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.