Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/05/2005, 02:55
Avatar de txiripindo
txiripindo
 
Fecha de Ingreso: noviembre-2003
Ubicación: Pamplona - Navarra
Mensajes: 36
Antigüedad: 20 años, 4 meses
Puntos: 1
Bueno, al final me he dejado los cuernos investigando y he encontrado una solución.
Parece que no se puede (o por lo menos no he encontrado la forma) recoger un valor directamente de la URL pero se puede, mediante PHP, escribir ese valor en la etiqueta <object> de la pelicula flash y que ésta lo lea correctamente.

Yo lo he hecho así y me funciona estupendamente:

Código:
   <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="752" height="459">
  <param name="movie" value="nombre-de-la-pelicula.swf">
  <param name="quality" value="high">
  <param name="FlashVars" value="<?php
  if ($_GET["nombreVariable"]) {
  	$unValorVariable= $_GET["nombreVariable"];
  	echo "nombreVariable=$unValorVariable\">\n";
  } else {
  	echo "nombreVariable=otroValorVariable\">\n";
  }
   ?>
  <embed src="nombre-de-la-pelicula.swf" FlashVars="<?php
  if ($_GET["nombreVariable"]) {
  	echo "nombreVariable=$unValorVariable\" ";
  } else {
  	echo "nombreVariable=otroValorVariable\" ";
  }
   ?>
  quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="752" height="459"></embed></object>
Aquí lo que hago es:
-Mirar a ver si está la variable "nombreVariable" en la URL.
-En caso de estar, escribo en "FlashVars" (una zona que sirve precisamente para pasar variables a la película) el valor que trae.
-En caso de no venir esa variable en la URL, escribo en "FlashVars" otro valor al que le llamo "otroValorVariable" ya que prefiero tener siempre un valor por cosas de mi película.
-Como se ve en el código, hay que escribir lo mismo dos veces (una en la subetiqueta <param name="FlashVars" ...> y otra en <embed ... FlashVars="..." ...>) para que todos los navegadores lo hagan funcionar bien.

También se podría hacer que si trae la variable en la URL escriba lo de "FlashVars" y que si no lo deje vacío, pero bueno, yo lo tengo planteado así.

Cuando carga la página y PHP escribe su código, la cosa debería quedar así:

Código:
   <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="752" height="459">
  <param name="movie" value="nombre-de-la-pelicula.swf">
  <param name="quality" value="high">
  <param name="FlashVars" value="nombreVariable=x">
  <embed src="nombre-de-la-pelicula.swf" FlashVars="nombreVariable=x" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="752" height="459"></embed></object>
Después, desde la película Flash, en el primer fotograma o donde queramos, recuperamos el valor así de fácil:

Código:
var variableRecuperada = _root.nombreVariable;
Espero haberlo explicado bien, cualquier duda ponerla por aquí.
Saludos a todos!