Comunidad de diseño web y desarrollo en internet online

manipular informacion con Loadvars

Citar            
MensajeEscrito el 22 Ago 2011 05:58 pm
Hola que tal!

He buscado la forma de leer informcion de un archivo externo y mostrarla en flash mediante AS2, con un tutorial que aqui mismo postearon.

Apenas estoy aprendiendo lo que es AS2 y 3 y me revuelvo un poco (ya que algunas cosas que necesito estan en uno o en otro :s) asi que espero me puedan ayudar a aclarar mis dudas.

Este es el codigo que encontre:

Código ActionScript :

var cargador_lv:LoadVars = new LoadVars();
cargador_lv.onLoad = function(exito) {
   if (exito) {
      nombre_txt.text = this.nombre;
      edad_txt.text = this.edad;
      
   } else {
      nombre_txt.text = "Error!! :(";
   }
};

cargador_lv.load("variables.txt");


hasta aqui todo bien, mi archivo tiene 2 variables, escritas como se debe, y al probar el flash me muestra la informacion.

Ahora mi pregunta es: ¿donde se guarda esta informacion? como puedo acceder a estas variables para manipularlas?

les explico, quiero que desde un archivo .txt escribir una cadena de texto, y en flash quiero leer esta cadena para poder guardar las palabras por separado en otras variables o en un Array. Se puede esto?

Espero me puedan ayudar a entender mas esto, muchas gracias de antemano.

Por Nazty

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 22 Ago 2011 11:10 pm
Yo se que no puedes escribir sobre el archivo txt, solo puedes leerlo como tu mismo mencionarlo y claro usar variables fuera de la funcion para que tu puedas manipular ese valor como se te plazca

Saludos cordilaes

Por joshuavw

Claber

306 de clabLevel



Genero:Masculino  

Juego, aprendo y programo

firefox
Citar            
MensajeEscrito el 23 Ago 2011 04:52 am
esa es mi duda, como es que puedo sacar las variables del loadvars y asignarlas a una variable que este fuera de la funcion?

creo que eso es muy sencillo pero no se como :S

Por Nazty

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ago 2011 10:27 pm
Cuando cargas el loadvars, las dos variables te las pone en los 2 text.
Donde se guardan ? en los text mientras no los borres o cambies.
nombre_txt.text = this.nombre;
edad_txt.text = this.edad;

Como manipularlas:
Si lo que quieres es tenerlas accesibles:

if (exito) {
nombre_txt.text = this.nombre;
edad_txt.text = this.edad;

nombre2.text = this.nombre;
edad2.text = this.edad;
}

Estas dos primeras las puedes borrar o cambiar
nombre_txt.text = this.nombre;
edad_txt.text = this.edad;

Y en estas otras 2 las mantienes para llamarlas cuando las necesites
nombre2.text = this.nombre;
edad2.text = this.edad;

Tambien puedes hacerlo de otra forma:
if (exito) {
nombre_txt.text = this.nombre;
edad_txt.text = this.edad;

_root.Nombre = this.nombre;
_root.Edad = this.edad;
}


De esta forma cada vez que quieras llamar al nombre:
funcion que nombre tiene = _root.Nombre

En _root.Nombre se guarda el dato del nombre
Tambien puedes utilizar _global o ponerlas en un array

Resumiendo. Donde se guardan ? donde tu quieras, asi de simple.
De todas formas creo que la palabra GUARDAN es lo que confunde, ya que no se guandan, mas bien es DONDE se cargan.

Donde se guardan ? En el .txt que se encuentra en el servidor, ya sea local o en internet.
Y también puedes guardar el .txt con cambios y llamarlo otro día o cuando quieras en el momento que quieras.

Espero que esto te lo aclare.

Salu2.
Cuae

Por Cuae

29 de clabLevel



 

msie8
Citar            
MensajeEscrito el 08 Sep 2011 10:46 pm
Gracias por tu respuesta Cuae!

sabes ya he intentado con una variable global pero pues nada de nada, parece como si la funcion no conservara la información que cargo en las variables globales. A continuacion dito mi codigo:

Código ActionScript :


_global.Nombre = "prueba";
_global.Edad = "123";

var cargador_lv:LoadVars = new LoadVars();

cargador_lv.onLoad = function(exito) {
   if (exito) {
      _global.Nombre= this.nombre;
      _global.Edad = this.edad;
      trace(Nombre);
      trace(Edad); 
//Esto lo hice para comprobar que efectivamente se cargo la informacion y se la asigno a las variables globales
   
   } else {
      nombre_txt.text = "Error!! :(";
   }
};


cargador_lv.load("variables.txt");

trace(Nombre);
trace(Edad);
trace(Nombre);
trace(Edad);

stop();


Las salidas de los trace son las siguientes:

prueba
123
prueba
123
Freddie
69

como ves, en el trace que hago dentro de esto:
cargador_lv.onLoad = function(exito) {
si funciona!!! si me muestra lo que contienen las variables globales, pero los trace que ocurren despues de llamada la funcion, me nuestra la informacion que habia establecido en un principio....

que ocurre??? apenas estoy comenzando a entender el as2, pero esto me confunde mas :s

Por Nazty

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 08 Sep 2011 11:11 pm
yo en particular no te recomiendo usar variables globales para tener accesos a los datos externos usa variables normal fuera de la funcion, ahora la declaracion de trace(Nombre) es diferente a trace(_global.Nombre), utiliza nombres con minuscula sugerencia y no pongas los traces en un solo lugar, prueba un trace cuando asignas cuando haya cargado con exito el valor de esas variables y otras despues si no te confundiras mas

Saludos cordiales

Por joshuavw

Claber

306 de clabLevel



Genero:Masculino  

Juego, aprendo y programo

firefox
Citar            
MensajeEscrito el 09 Sep 2011 07:40 am
Hola.

joshuavw no recomienda usar MAYUSCULAS

Yo recomiendo 100% utilizar MAYUSCULAS pero solo la priemra letra de la palabra o variable.

Si se utilizan 2 palabras: ( QueNombre ) la primera letra de cada palabra en MAYUSCULA
Cuando se trabaja con gran camtidad de varibles y de datos, a la hora de leer el código, te facilita mucho el trabajo.
Localizas visualmente antes QueNombre que quenombre

Aqui tenemos un ejemplo que nos demuestra que el mismo nombre con la diferencia de que la primera letra es MAYUSCULA
son 2 variables diferentes teniendo el mismo nombre.
En AS 1 con o sin mayusculas era lo mismo, era la misma variable.
En AS 2 se mejoró y se interpreta como 2 variables diferentes aun teniendo en mismo nombre.

Haz la prueba y pega este código:
Nombre = "Pedro";
nombre = "Juan";
trace(Nombre);
trace(nombre);

SI que hay que tener CUIDADO y acostumbrarse a utilizar una metodología para que no se produzcan fallos en si lo pones con minúsculas o mayúsculas.
Si te acostrumbras a utilizar minúsculas, pues siempre minusculas.
Te recomiendo que siempres utilices la primera letra mayúscula y que te acostumbres a ello si tu intención es trabajar con Flash.

Simplemente es un buén consejo.
Eres libre de hacer lo que te plazca.

Salu2
Cuae

Por Cuae

29 de clabLevel



 

msie8

 

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