• inicio
  • tutoriales flash
  • trucos flash
  • faq's flash
  • enlaces flash
  • suscribirse al feed RSS

tutoriales ( todos | principiante | medio | avanzado | AS 1.0 | AS 2.0 | AS 3.0 | top )

Tutorial FLASH - Comunicación entre películas Flash. La clase LocalConnection.

| | Más
Versión Flash: 8 y superiores   |   Compatible con ActionScript 1.0 y 2.0   |   Nivel: Medio   |   Hits: 46219

Gracias a la clase LocalConnection podemos comunicar películas sin utilizar JavasScript ni fscommand. El único requisito es que las dos películas se vean en el mismo equipo cliente, aunque una puede ser a través de un navegador y la otra en un proyector. Esta técnica es muy útil para comunicar películas entre diferentes frames html.

COMO HACERLO.
El mecanismo del ejemplo es muy sencillo. Vamos a intercomunicar dos archivos swf que se encuentran en la misma página. En cada película tenemos dos cajas de texto en disposición vertical. Vamos a enviar de una a otra los datos introducidos en una caja de texto. Probadlo, mirad como funciona.

2 películas
diferentes

Las dos películas tienen la misma programación salvo algunas diferencias. Vamos a ver el código de la película 1.
En el primer frame de la línea de tiempo principal creamos el objeto recepcion_lc del tipo LocalConnection que vamos a utilizar para recibir los datos de la otra película:

var recepcion_lc:LocalConnection = new LocalConnection();

A continuación, para este objeto definimos la función verTexto con la que escribiremos en la caja de texto los datos enviados desde la otra película. Estos datos los pasamos como parámetro de la función. Esta función se invoca desde la otra película por medio de otro objeto LocalConnection. Podemos definir múltiples funciones para un objeto.

recepcion_lc.verTexto = function(arg) {
_root.recepcion=arg;
};

Por último, en este primer fotograma dejamos listo el objeto para recibir datos por el "canal" flujo2_1.

recepcion_lc.connect("flujo2_1");

Hasta aquí hemos visto como recibir datos, ahora veremos cómo enviarlos. Todas las acciones van asociadas al botón de enviar. El código es muy sencillo:

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

Primero definimos otro objeto del tipo LocalConnection para más tarde, enviar a través del "canal" flujo1_2 el contenido del cuadro de introducción de texto como parámetro de la función verTexto. La manera de recibir los datos de la otra película ya la hemos aprendido más arriba.

Aquí teneis los archivos peli1.fla y peli2.fla del ejemplo con el código comentado.

| | Más
flash 1flash 1flash 1flash 2flash 1flash 3flash 1flash 4