Google Web after-hours

Contador en flash JSFL Traductor
Mientras trabajaba he visto en el tag-board un mensaje preguntando como pasar parámetros de una pelí cula flash a otra, a continuación describo un método bastante sencillo. Aprovechando el post, incluyo dos ejemplos que muestran como cargar una pelí cula flash pasando parámetros desde HTML

Pasar parámetros entre dos pelí culas SWF

// – pelí cula1

this.createEmptyMovieClip(“holder”, 1);
holder._x = 0;
holder._y = 0;
btn.onRelease = function() {
        _root.mi_var = “Hola mundo”;
        holder.loadMovie(“peli2.swf”);
};

// – pelí cula2

this.createTextField(“mi_var2″, 100, 10, 10, 200, 20);
mi_var2.text = _root.mi_var;

Pasar parámetors desde HTML a flash

// – HTML

<object
classid=“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″
codebase=“http://download.macromedia.com/pub/shockwave
/cabs/flash/swflash.cab#version=6,0,29,0″
width=“200″	height=“100″>
<param name=“movie” value=“peli4.swf?mi_var=Hola mundo”>
<param name=“quality” value=“high”>
<embed src=“peli4.swf?mi_var=Hola mundo”
quality=“high”
pluginspage=“http://www.macromedia.com/go/getflashplayer”
type=“application/x-shockwave-flash”
width=“200″ height=“100″>
</embed>
</object>

// – pelí cula flash

this.createTextField(“mi_var2″, 100, 10, 10, 200, 20);
mi_var2.text = _root.mi_var;

Pasar parámetros desde HTML a flash usando el parámetro FlashVars

// – HTML

<object
classid=“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″
codebase=“http://download.macromedia.com/pub/shockwave
/cabs/flash/swflash.cab#version=6,0,29,0″
width=“200″	height=“100″>
<param name=“movie” value=“peli4.swf”>
<param name=“FlashVars” value=“mi_var=Hola  Mundo”>
<param name=“quality” value=“high”>
<embed src=“peli4.swf”
FlashVars=“mi_var=Hola Mundo”
quality=“high”
pluginspage=“http://www.macromedia.com/go/getflashplayer”
type=“application/x-shockwave-flash”
width=“200″ height=“100″>
</embed>
</object>

// – pelí cula flash

this.createTextField(“mi_var2″, 100, 10, 10, 200, 20);
mi_var2.text = _root.mi_var;

Nota
El parámetro FlashVars requiere Flash Player 6 y puede pasar un máximo de 63 Kb

26 Responses to 'Pasar parámetros a flash'

  1. sergiomas Says:

    Hola Toni.
    Me guardo el post para usos futuros.:-)

    Solo una cosa.
    ¿como pasar parametros a flash desde un enlace en otra pagina html?
    Se puede hacer sin usar javascript?

    Saludos.

  2. kail Says:

    Hola he visto muchos de tus interesantes post y me preguntaba si habrí a la posibilidad de que mostraras ejemplos en flash y si es el caso comprimir todo en un .zip.

    Ello facilita ver mejor el buen trabajo que realizas y elimina en gran medida el error humano que podamos cometer al utilizar el scritp.

    Saludos

  3. MariaN Says:

    Muy buena data!
    Agrego algo si se me permite, cuando se utiliza FlashVars las variables pasadas son creadas antes q empieze el primer frame del swf.
    Como muy bien se ve en el codigo, para ambos metodos, las variables tienen q estar definidas en object y embebed tags para q funcione en todos los navegadores.

    Links de Flash TechNote:
    Using FlashVars to pass variables to a SWF
    http://www.macromedia.com/support/flash/ts/docume
    nts/flashvars.htm
    Different approaches to setting variables in a Flash movie
    http://www.macromedia.com/support/flash/ts/documents/set_variables.htm

  4. MariaN Says:

    perdon, me olvidaba algo importante
    Gracias por el link a mi blog!

  5. tonilopez Says:

    Sergio:

    Para comunicar dos peliculas diferentes utiliza la clase localConnection (a partir de Flash MX).

    Kail:

    La mayorí a de tutos que escribo van acompañados de un enlace para descargar los archivos en formaoto .zip, aunque en algunos casos he pensado que no era necesario. Si necesitas ejemplos de algún tutorial concreto solo tienes que pedirlo. ;-)

    MariaN:

    Los enlaces que pones siempre irán bien, cuanta + info mejor :-)

    Ah! lo mismo digo.

    saludos!

  6. Carlos Rovira Says:

    Hey! estupendo Toni, eso de la limitación lo intuia pero no sabí a que fuesen 63ks.

    thanks! :)

  7. tonilopez Says:

    Creo que lo leí en el ASDG.

    saludos!

  8. Fumanchu Says:

    He dado con un método aún más sencillo para pasar parametros entre dos peliculas SWF, solo con utilizar el objeto “_global.miparametro;". Recuerden utilizar _root.miparametro para asignar y recoger los valores que le pasen al parametro.

  9. tonilopez Says:

    Es otra solución, pero si estás declarando una variable como _global, es precisamente para no tener que pensar en el path, ejemplo:

    // – peli1.swf
    _global.miparametro = “hola";
    this.loadMovie("peli2.swf", 1);

    // –peli2.swf
    trace(_global.miparametro);

    saludos!

  10. Fumanchu&Cia Says:

    Rectificar es de sabios y el TonyLopez lleva razon, utilizando el _root, puedes estar haciendo referencia a una variable distinta y no a la que se habia declarado en principio como global.
    RESUMIENDO:
    Un remedio “casero” (no se si el mejor, pero funciona) para poder pasar valores entre pelí culas, hacemos _global.mivar="loquequieras", y luego para leerla donde sea necesario hacemos otravariable=mivar.
    Así podemos pasar información entre peliculas diferentes que hayamos cargado mediante loadMovie.

    Saludos.

  11. oki Says:

    Hola gente , vereis tengo un problemilla para pasar parametros de flash a html , vereis pensaba q usando el get de la funcion geturl funcionaria usando esta funcion :

    on (release) {
    getURL(reservahotel.htm?hotel:"sancti", “_blank", “GET");

    }
    Despues tb uso el siguiente script

    function RecogeValor(){
    var vtmp=location.search;
    var vtmp2 = vtmp.substring(1,vtmp.length);
    return vtmp2;
    }

    Y para llamarlo , utilizo esta funcion javascript

    var tengovalor=RecogeValor();
    alert(tengovalor)

    Pero en value no se me queda ningun valor .Alguien sabe que esta pasando.

    Pista : cuando hago la llamada getURL (la pagina se me abre hasta reservahotel.htm , pero lo de la ?variable="micadena” no tira.)

  12. tonilopez Says:

    Igual estoy equivocado, pero no puedes pasar variables desde flash a HTML. Deverí as usar un lenguaje de servidor (como receptor) o bien si el otro archivo HTML embebiera un flash, podrí as usar el objeto localConnection()

    saludos

  13. Denim Demon Says:

    Un pregunta, podrí a pasar como parametro el nombre de un archivo de imagen?
    No tengo ni idea de flash y me gustarí a poder hacer esto.
    Tengo una imagen en la pelicula, y kiero ke cuando le pase como parametro el nombre de cualquier arxivo de imagen se carge este en la imagen ke ya tengo. Es esto posible?

    Gracias

  14. tonilopez Says:

    Si puedes, pero ten en cuenta que flash solo carga archivos JPG dinamicamente. Por tanto la cadena que envies como parámetro deberá hacer referencia a un JPG e incluso en caso necesario puedes añadir la ruta del archivo.

    saludos

  15. alejandro Says:

    Excelente!! algien sabe como hacer esto mismo( pasar parametro HTML->swf) en swishmax ??

  16. tin_nqn Says:

    amigos gracias a este aporte les dejo un reproductor de mp3 streaming. simplemente cambiando el el value de “mp3=http://ww…
    por otra url a un mp3 cambiamos de tema

    vean el codigo acá (y bajense el play_p.swf pa sus casas !)
    http://www.cdclubaltovalle.com.ar/play.html

  17. Sonia Says:

    Hola! me gustarí a saber de qué forma puedo hacer una predescarga de un flash en la página anterior a la que se muestra el .swf

  18. tonilopez Says:

    Hola Sonia,

    mira si te sirve el siguiente fla:

    http://www.after-hours.org/blog/archives/000441.html

    Es sencillo, pero práctico.

    Saludos

  19. favipa Says:

    Hola a todos …….tengo mi nivel en flash es basico……y tengo un problemilla…….quisiera saber si es posible relaizar esto: tengo una pagina html con un swf……y cuando doy clic en un boton del swf quiero q se abra una nueva pagina….pero pasando una variable……para usar el valor de esa variable en la nueva pagina q se abre q contiene codigo javascript….agradeceria su ayuda………..muchas gracias

  20. CHRISTIAN Says:

    Hola amigos tengo una consulta, tengo una consulta asp que me muestra nombres de canciones y qusiera que cuando presione el boton de una cancion se escuche la cancion listada, para esto quiero pasarle el parametro del nombre de la cacion via html, alguien podria ayudarme?

  21. AyoROZ Says:

    Hola:
    Tengo problemas al pasar los parametros a flash desde HTML.
    Tengo un menu en flash que se activa al pasarle una variable en html.
    Al principio esto funcionaba bien, pero luego agregue un boton mas en flash. Y ahora que le paso el parametro a flash para que se active cierto boton DESAPARECEN 3 ó 2 BOTONES. He estado depurandolo y hasta ahora no logro dar con el problema.

    Gracias por su ayuda.
    AyoROZ

  22. javier Says:

    Una ayudita para el paso de parámetros de html a flash. El fin es pasar el idioma (una variable) desde html, php, la manera da igual a flash para que en virtud de ese valor visualice el texto de una carpeta u otra. Gracias. Mi correo es javiergutierrezperez@gmail.com ó jagutierrez@telynet.com.

  23. tonilopez Says:

    Javier, si lees el post y algunos de los comentarios, deberías encontrar la solución, si no es así, consulta en el foro, gracias.

  24. Jose Luis Says:

    Hola Toni.

    Lo primero de todo, gracias por estos post que tanto nos hacen ayudan a aprender a todos.
    He visto que este lleva ya mucho tiempo posteado, por lo que no sé si recibiré alguna respuesta.

    Mi duda es la siguiente:

    El ejemplo que pones arriba

    me funciona perfectamente. El problema lo tengo cuando intento hacer un paso de variables a la inversa, es decir:

    // – peli1.swf
    _global.miparametro = “hola";

    // –peli2.swf
    this.loadMovie("peli1.swf", 1);
    trace(_global.miparametro);

    De ésta forma no consigo que pase ningún valor. ¿A qué puede deberse?

    Gracias

  25. tonilopez Says:

    Hola javier, la manera más correcta de pasar variables entre dos .swf es utilizar
    localConection, te dejo un enlace para que decargues un ejemplo de uso:

    localConnection

    Para otras consultas, visita nuestro foro:

    foro

    Saludos

  26. edgar Says:

    hola muy buenas noche espero me puedan resolver el problema que les describo acontinuacion necesito saber porque cuando pongo una pelicula flash en mi pagina me sale muy pequeña es un menu y no c alcanza a ver espero su respuesta a mi email que es edg13fa@gmail.com gracias y salu2.