Comunidad de diseño web y desarrollo en internet online

Envio con localConnetion y ¿guardar datos con shareObject?

Citar            
MensajeEscrito el 24 Jul 2008 07:11 pm
Hola,
tengo dos swf uno emisor y otro receptor que recibe datos de otro mediante localconnection.
En el swf emisor en la linea principal:

Código :

var recepcion_lc:LocalConnection = new LocalConnection();
recepcion_lc.verTexto = function(arg) {
    _root.clip1.recepcion=arg;
};
stop();

y en este mismo clip emisor en el boton de envio:

Código :

on (release) {
   var envio_lc:LocalConnection = new LocalConnection();
   envio_lc.send("flujo", "verTexto", _root.envio);
}

Y en el receptor:

Código :

var recepcion_lc:LocalConnection = new LocalConnection();
recepcion_lc.verTexto = function(arg) {
    _root.seccion00.recepcion=arg;
};
recepcion_lc.connect("flujo");
stop();

Seria posible guardar los datos mediante shareObject en la pelicula receptora. No entiendo muy bien como funciona. Alguien me podria orientar un poco como enfocar esto?
Gracias

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jul 2008 02:26 pm
Hay varios tutoriales de sharedObjects en la sección de tutoriales.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 25 Jul 2008 07:38 pm
Hola, elchininet,
Si, estos tutoriales los he revisado y es lo que estoy tratando de modificar un poco. Lo que queria hacer es que desde un swf pueda escribir texto, enviarlo presionando un boton mediante LocalConnection a otro swf. Tambien queria que se cargara y guardara el texto en el segundo swf para lo que incluiría en el boton de envio la función para que cargara y guardara en el segundo swf. De esta manera si cerrara y abriera el swf cargaria el texto que guardo anteriormente.
Voy intentando montarlo poco a poco pero aun no me funciona:
En el swf emisor tengo en la linea principal:
- Caja de txt dinamico con var:envio
- Codigo con LocalConnetion
- Boton con envio del LocalConnection
El Codigo con LocalConnetion

Código :

// defino el objeto que va a recibir los datos
var recepcion_lc:LocalConnection = new LocalConnection();
// defino la función que se ejecuta cuando recibo datos
recepcion_lc.verTexto = function(arg) {
   // muestro en la caja de texto los datos recibidos
    _root.clip1.recepcion=arg;
};
recepcion_lc.cargarTexto = function() {
   // cargo en la caja de texto los datos recibidos
   _root.clip1.recepcion.text = cargarDatos("nombre");
};
recepcion_lc.guardarTexto = function() {
   // guardo en la caja de texto los datos recibidos
   _root.clip1.recepcion.text = guardarDatos(recepcion.text);
};
stop();

El code del Boton con envio del LocalConnection

Código :

on (release) {
   // defino el objeto que envia los datos
   var envio_lc:LocalConnection = new LocalConnection();
   // mando los datos a la otra peli por el canal "flujo",
   // le digo al objeto receptor que ejecute la funcion verTexto,
   // le digo al objeto receptor que ejecute la funcion cargarTexto,
   // // le digo al objeto receptor que ejecute la funcion guardarTexto,
   envio_lc.send("flujo", "verTexto", _root.envio);
   envio_lc.send("flujo", "cargarTexto", _root.envio);
   envio_lc.send("flujo", "guardarTexto", _root.envio);
}

En el swf receptor tengo en la linea principal:
- Attach del clip1 y recepcion de LocalConnection

Código :

attachMovie("clip1", "clip1", 1);
// defino el objeto que va a recibir los datos
var recepcion_lc:LocalConnection = new LocalConnection();
// defino la función que se ejecuta cuando recibo datos
recepcion_lc.verTexto = function(arg) {
   // muestro en la caja de texto los datos recibidos
    _root.clip1.recepcion=arg;
};
recepcion_lc.cargarTexto = function() {
   // cargo en la caja de texto los datos recibidos
    _root.clip1.recepcion.text = cargarDatos("nombre");
};
recepcion_lc.guardarTexto = function() {
   // muestro en la caja de texto los datos recibidos
    _root.clip1.recepcion.text = guardarDatos(recepcion.text);
};
// dejo el objeto listo para recibir datos por el canal "flujo1_2"
recepcion_lc.connect("flujo");
stop();

y en la biblioteca el clip1 con caja txt dinamico var:recepcion y code del SharedObjects:

Código :

//Esta función recibe por parametro el nombre y el correo a guardar
function guardarDatos(nombre:String) {
   //Crea variable de tipo SharedObject que guarda datos en disco usuario
   var disco_so:SharedObject;
   //El metodo "getLocal" del objeto "SharedObject" me devuelve
   //algo asi como un archivo que le pase por parametro, en este
   //caso, el archivo se llama "datos", si no existe, lo crea
   disco_so = SharedObject.getLocal("datos");
   //En "data", se asigna variable "elNombre"
   disco_so.data.elNombre = nombre;
   //SharedObject guarda en el disco los datos
   disco_so.flush();
}
//La función de cargar datos me devolvera el dato nombre 
function cargarDatos(dato) {
   var disco_so:SharedObject;
   //abre el archivo "datos" y carga toda la información contenida en ese archivo
   disco_so = SharedObject.getLocal("datos");
   //Si el parametro que llego fue "nombre"....
   if (dato == "nombre") {
      //Retornara el nombre que guardamos en el archivo
      return disco_so.data.elNombre;
   }
}

Intente seguir el tutorial lo mas fielmente posible pero creo que la parte del envio a traves del boton no está bien escrita:

Código :

   envio_lc.send("flujo", "verTexto", _root.envio);
   envio_lc.send("flujo", "cargarTexto", _root.envio);
   envio_lc.send("flujo", "guardarTexto", _root.envio);

o tal vez sea algo más...tambien veo que send solo almacena 40kb, no podria enviar un texto largo?
si se te ocurre algo, agradecido es...

Por celentano

Claber

123 de clabLevel



Genero:Masculino  

firefox

 

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