Estoy intentando ejecutar una función de AS3 que tengo en un flash llamándola desde javascript, he seguido este tutorial: http://www.cristalab.com/tutoriales/como-comunicar-flash-y-javascript-en-actionscript-3-c50326l/ y no parece un tema demasiado complicado pero no se por que no me funciona, he mirado varios tutoriales más por google y todos vienen a decir lo mismo, he probado hacerlo de diferentes maneras y nada...imagino que es un fallo de esos que te estas días y al final es una tontería que no veías pero por si alguien me puede ayudar a ahorrarme esos días aquí lo dejo el código de prueba que estoy haciendo:
AS3
Código ActionScript :
import flash.external.ExternalInterface;
ExternalInterface.addCallback("sendToActionscript", callFromJavaScript);
function callFromJavaScript(valor):void{
box.alpha=valor;
}Tengo un cuadrado con nombre de instancia box, la función funciona pues he probado de ejecutarla desde as3 y el objeto cambia su opacidad.
HTML
Código HTML :
<body>
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400">
<param name="allowScriptAccess" value="always" />
<param name="movie" value="js-as3.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="js-as3.swf" width="550" height="400">
<!--<![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>
<script type="text/javascript">
var flashObj = document.getElementById('FlashID');
flashObj.sendToActionscript(0.5);
</script>
<input type="button" onclick="flashObj.sendToActionscript(0.5);" />
</body>Un saludo y gracias
