SoloCodigo

Programación Web y Scripting => JavaScript => Mensaje iniciado por: el_shanky en Domingo 15 de Febrero de 2009, 21:04

Título: Llamar funcion de flash (actionscript) desde javascript
Publicado por: el_shanky en Domingo 15 de Febrero de 2009, 21:04
Hola que tal, mi diseñador (que se encarga de toda la parte de flash) me ha pedido que una vez que se ejecuta cierto código php llame a una funcion del flash que ha creado.

Por lo que encontré en internet lo que es "relativamente" posible es llamar a la funcion de flash mediante javascript y como se como invocar sentencias javascript desde php solo me falta la parte de invocar flash desde javascript.

Si alguien tiene un ejemplo facil o alguna ayuda será agradecida!

Salute
Título: Re: Llamar funcion de flash (actionscript) desde javascript
Publicado por: el_shanky en Lunes 16 de Febrero de 2009, 22:08
Lo mas acertado que encontré en la red!



Comunicación de Javascript a Flash
El proceso inverso de comunicación se realiza con la función addCallback, el cual recibe tres parámetros los cuales son: Alias de la función, instancia donde se encuentra la función a llamar y finalmente el nombre de la función a ejecutarse.
Actionscript:

   1.
      ExternalInterface.addCallback("alias", instancia, funcion);

Como ejemplo en flash creamos un campo de ingreso de texto y luego con Javascript leeremos esta información. Entonces si tenemos un campo de texto llamado txtMensaje, creamos un función para obtener el texto ingresado en este campo y luego creamos una interface para poder leer desde Javascript.
Actionscript:

   1.
      import flash.external.ExternalInterface;
   2.
      function getNombre() {
   3.
          return txtMensaje.text;
   4.
      }
   5.
      ExternalInterface.addCallback("getNombre", this, getNombre);

Luego en el HTML podemos llamar directamente a esta función, anteponiendo el nombre del elemento flash, es decir si incluimos esta película flash utilizando SWFObject donde asignamos como ID mymovie, función para llamar los datos desde flash sería:
HTML:

   1.
      <html>
   2.
      <head>
   3.
      <title>Flash2Javascript</title>
   4.
      <script type="text/javascript" src="swfobject.js"></script>
   5.
      <script language="javascript">
   6.
      function getInfo() {
   7.
          alert(document.getElementById("mymovie").getNombre());
   8.
      }
   9.
      </script>
  10.
      </head>
  11.
      <body>
  12.
      <div id="flashcontent"></div>
  13.
      <script type="text/javascript">
  14.
         var so = new SWFObject("javascript2flash.swf", "mymovie", "300", "80", "8", "#009933");
  15.
         so.write("flashcontent");
  16.
      </script>
  17.
      <input type="submit" name="Submit" value="Obtener Nombre" onClick="getInfo();">
  18.
      </body>
  19.
      </html>







source: http://blog.unijimpe.net/integrar-flash-y-javascript/ (http://blog.unijimpe.net/integrar-flash-y-javascript/" onclick="window.open(this.href);return false;)