Foros del Web » Creando para Internet » Flash y Actionscript »

pasar una variable al flash

Estas en el tema de pasar una variable al flash en el foro de Flash y Actionscript en Foros del Web. Hola! (usando swishmax) es posible con actionscript, junto con javascript y/o php entregarle a una animacion una variable GET en el url? ...por medio de ...
  #1 (permalink)  
Antiguo 24/06/2006, 00:49
Avatar de dplweb  
Fecha de Ingreso: enero-2002
Mensajes: 74
Antigüedad: 22 años, 10 meses
Puntos: 0
Exclamación pasar una variable al flash

Hola!
(usando swishmax)
es posible con actionscript, junto con javascript y/o php entregarle a una animacion una variable GET en el url?
...por medio de un <param>?

Tengo una animacion que tiene un objeto texto que puede cargar una url.
Mi idea es tener una sola animacion que debe servir para 8 destinos diferentes
No quisiera tener que crear 8 animaciones, sino que la animacion pueda detectar algun param... o mejor una variable del la url (...&u=7) y cargar la url correspondiente segun el link quqe se ha cargado.

Es posible? me enredé mucho con la explicacion?
Gracias!
  #2 (permalink)  
Antiguo 24/06/2006, 19:12
 
Fecha de Ingreso: junio-2006
Mensajes: 270
Antigüedad: 18 años, 5 meses
Puntos: 0
Si es posible. ¿Como?
1. Cree un documento de Flash y asígnele el nombre urlvariables.fla.
2. Seleccione Archivo > Guardar como y guarde el documento en el escritorio.
3. Seleccione el fotograma 1 de la línea de tiempo y añada el siguiente código en el panel Acciones:
Cita:
this.createTextField("myTxt", 100, 0, 0, 100, 20);
myTxt.autoSize = "left";
myTxt.text = _level0.myURL;
4. Seleccione Control > Probar película para probar el archivo SWF en Flash Player.
El campo de texto muestra undefined. Si desea asegurarse de que las variables están bien definidas antes de continuar, deberá comprobar la existencia de las variables en Flash. Para ello, puede comprobar si están sin definir (undefined).

5. Para comprobar si la variable está definida, modifique el código ActionScript que ha añadido al panel Acciones en el paso 3 para que coincida con el siguiente código. Añada el código que aparece en negrita
Cita:
this.createTextField("myTxt", 100, 0, 0, 100, 20);
myTxt.autoSize = "left";
if (_level0.myURL == undefined) {
myTxt.text = "myURL is not defined";
} else {
myTxt.text = _level0.myURL;
}
Al publicar el documento de Flash, se crea un documento HTML de manera predeterminada en el mismo directorio que el archivo SWF. Si no se crea un archivo HTML, seleccione Archivo > Configuración de publicación y asegúrese de que selecciona HTML en la ficha Formatos. Seguidamente, publique de nuevo el documento.

El siguiente código muestra el código HTML del documento responsable de la incorporación de un documento de Flash a una página HTML. Debe examinar este código HTML para comprender cómo funcionan las variables de URL en el siguiente paso (donde añade código adicional para las variables de URL).
Cita:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="urlvariables" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="urlvariables.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="urlvariables.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="urlvariables" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
6. Para pasar variables del documento HTML generado al documento de Flash, puede pasar variables tras la ruta y el nombre de archivo (urlvariables.swf). Añada el texto en negrita al archivo HTML que se ha generado en el escritorio.
Cita:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="urlvariables" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="urlvariables.swf?myURL=http://weblogs.macromedia.com" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="urlvariables.swf?myURL=http://weblogs.macromedia.com" quality="high" bgcolor="#ffffff" width="550" height="400" name="urlvariables" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
7. Si desea pasar varias variables a Flash, deberá separar los pares nombre/valor mediante un carácter ampersand (&). Localice el siguiente código del paso 6:
Cita:
?myURL=http://weblogs.macromedia.com
Sustitúyalo por el siguiente texto:
Cita:
?myURL=http://weblogs.macromedia.com&myTitle=Macromedia+News+Aggregator

Recuerde que debe realizar los mismos cambios tanto en la etiqueta object como en la etiqueta embed para mantener la coherencia entre todos los navegadores. Puede que observe que las palabras están separadas por signos +. Las palabras están separadas de esta forma porque los valores tienen codificación URL y el signo + representa un espacio en blanco sencillo.

Dado que el ampersand (&) actúa a modo de delimitador entre los diferentes pares nombre/valor, si los valores que desea pasar contienen ampersands, podrían producirse resultados inesperados. Dada la naturaleza de los pares nombre/valor y del análisis, si pasara los siguientes valores a Flash:

Cita:
my.swf?name=Ben+&+Jerry&flavor=Half+Baked
Flash crearía las siguientes variables (y valores) en el ámbito raíz
Cita:
'name': 'Ben ' (note space at end of value)
' Jerry': '' (note space at beginning of variable name and an empty value)
'flavor': 'Half Baked'
Para evitar esto, deberá anular (escape) el carácter ampersand (&) del par nombre/valor con su equivalente con codificación URL (%26).

8. Abra el documento urlvariables.html y localice el siguiente código:
Cita:
?myURL=http://weblogs.macromedia.com&myTitle=Macromedia+News+Agg regator
Sustitúyalo por el siguiente código:
Cita:
?myURL=Ben+%26+Jerry&flavor=Half+Baked
9. Guarde el HTML revisado y compruebe de nuevo el documento de Flash.
Observará que Flash ha creado los siguientes pares nombre/valor
Cita:
'name': 'Ben & Jerry'
'flavor': 'Half Baked'

P.D. Pobrecito del que haya tenido que escribir la ayuda de flash, porque si de acabado hasta los c... de copiar este tema de la ayuda de flash, imaginate tener que hacer toda... Menos mal que le pagan al que la hace, porque sino...
  #3 (permalink)  
Antiguo 07/07/2006, 01:51
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 649
Antigüedad: 21 años, 1 mes
Puntos: 2
Gracias darkxer0x por la extensa explicación ;) pero no me funciona... este es el código del html... no hay que indicar de alguna manera que coja las variables de la URL??:

Código HTML:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="1000" height="69">
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="movie" value="../../imagenes/cornisas/cornisa_elearning_2_6.swf?temario=&seccion=2&producto=&sub=6" />
	<param name="quality" value="high" />
	<embed src="../../imagenes/cornisas/cornisa_elearning_2_6.swf?temario=&seccion=2&producto=&sub=6" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" width="1000" height="69"></embed>
</object> 
y así es como utilizo las variables....

Código HTML:
popupDatos.onRelease = function() {
	btn_reset();
	var rect_obj:Object = ontenedor_mc.getRect(this);
	getURL("JavaScript:MM_openBrWindow('datos.php?temario="+temario+"&seccion="+seccion+"&producto="+producto+"&sub="+sub+"','datospersonales','resizable=no,width=370,height=750')");
	
};
Gracias!!!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #4 (permalink)  
Antiguo 15/03/2008, 07:10
Avatar de damian0021  
Fecha de Ingreso: noviembre-2006
Mensajes: 101
Antigüedad: 18 años
Puntos: 0
Re: pasar una variable al flash

Hola estoy intentando hacer esto exactamente pero con una leve modificación

No quiero declarar el valor del a variable que le paso al flash en la misma linea de codigo que le estoy pasando, no se si me explico. les dejo un ejemplo:

no quiero pasar eso:

flash.swf?codigo=2

quiero pasar esto:

codigo=2

flash.swf?codigo


pero no me lo toma :S

Alguien sabe como declararlo correctamente?
  #5 (permalink)  
Antiguo 15/03/2008, 07:15
 
Fecha de Ingreso: febrero-2007
Mensajes: 450
Antigüedad: 17 años, 9 meses
Puntos: 3
Re: pasar una variable al flash

Todo ésto ya lo tenemos en otros topics...

Mejor usar un solo topic para un asunto, aunque se hable de varios lenguajes.. sino luego es un cacao...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:53.