Comunidad de diseño web y desarrollo en internet online

Hablándole al Flash desde Javascript

Citar            
MensajeEscrito el 07 Ene 2010 08:07 pm
Tengo dos links en html acompañados de un swf

Mi objetivo es que este swf informe cuál de los links fue clicado

En el html tengo

Código HTML :

<body>
<p><a href="#" onclick="javascript:LinkUno() ;return false">Link 1</a>
</p>
<p><a href="#" onclick="javascript:LinkDos() ;return false">Link 2</a></p>
El código del swf aqui.....
</body>


y en el AS3 tengo:

Código ActionScript :

var texto:String;

function LinkUno():void
{
   texto = "Fue clicado el primer link";
   mostrar();
}

function LinkDos():void
{
   texto = "Fue clicado el segundo link";
   mostrar();
}

function mostrar():void
{
   txtCampo.text = texto;
}


Qué está faltando para que esto funcione?

Desde ya muchas gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 07 Ene 2010 11:36 pm
Tienes que usar ExternalInterface y declarar las funciones como callback en Flash, luego tienes que llamar a la peli y no a JavaScript, en la ayuda, clase ExternalInterface, tienes un buen ejemplo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Ene 2010 02:46 pm
Jorge seguí tus indicaciones y los códigos quedaron así:

En el AS3

Código ActionScript :

import flash.external.ExternalInterface;

var texto:String;

ExternalInterface.addCallback("clickBoton1", LinkUno);
ExternalInterface.addCallback("clickBoton2", LinkDos);

function LinkUno():void
{
   texto = "Fue clicado el primer link";
   mostrar();
}

function LinkDos():void
{
   texto = "Fue clicado el segundo link";
   mostrar();
}

function mostrar():void
{
   txtCampo.text = texto;
}


y en el HTML

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Links</title>
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<script type='text/javascript'>
function ClicadoUno()
{
   document.getElementById("mymovie").clickBoton1()
}
function ClicadoDos()
{
   document.getElementById("mymovie").clickBoton2()
}

</script>
</head>
<body>
<p><a href="#" onclick="ClicadoUno() ;return false">Link 1</a>
</p>
<p><a href="#" onclick="ClicadoDos() ;return false">Link 2</a></p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="200" id="FlashID" title="Links">
  <param name="movie" value="links.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="opaque" />
  <param name="swfversion" value="6.0.65.0" />
  <!-- Esta etiqueta param indica a los usuarios de Flash Player 6.0 r65 o posterior que descarguen la versión más reciente de Flash Player. Elimínela si no desea que los usuarios vean el mensaje. -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- La siguiente etiqueta object es para navegadores distintos de IE. Ocúltela a IE mediante IECC. -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="links.swf" width="300" height="200">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="6.0.65.0" />
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <!-- El navegador muestra el siguiente contenido alternativo para usuarios con Flash Player 6.0 o versiones anteriores. -->
    <div>
      <h4>El contenido de esta página requiere una versión más reciente de Adobe Flash Player.</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtener Adobe Flash Player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>
<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
//-->
</script>
</body>
</html>


Aún asi no funciona. Cuando tengas un tiempito podrías por favor dar una mirada?. Desde ya muchas gracias

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.