É o seguinte: Tenho um arquivo flash que chama uma função quando uma tecla é pressionada. Nessa função eu chamo uma função do swf pra mover um mc para o frame 2, por exemplo.
No Windows com firefox funciona tudo como combinado, o problema é que eu preciso fazer funcionar no Linux (Ubuntu) + firefox.
Segue os códigos:
Codigo Resumido do HTML
<script type="text/javascript">
<!--
// F. Permadi May 2000
function getFlashMovieObject(movieName)
{
if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
}
}
function inicio()
{
document.onkeydown = checkKeycode;
}
function checkKeycode(e) {
var keycode;
if (window.event) keycode = window.event.keyData;
else if (e) keycode = e.which;
var flashMovie=getFlashMovieObject("navmovie");
flashMovie.clicado("key27");
alert("keycode: " + keycode);
return false;
}
</script>
<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"
ID="navmovie" WIDTH="496" HEIGHT="177">
<PARAM NAME="movie" VALUE="keyboard-pt.swf">
<PARAM NAME="play" VALUE="false">
<PARAM NAME="quality" VALUE="high">
<param name="flashvars" value="id=navmovie" />
<EMBED id="navmovie" NAME="navmovie" SRC="keyboard-pt.swf" WIDTH="496" HEIGHT="177"
SWLIVECONNECT="true" QUALITY="high">
</OBJECT>
AS do Flash no Primeiro Frame
stop();
import flash.external.ExternalInterface;
function clicado(key) {
this[key].gotoAndStop(2);
}
function ok(key) {
this[key].gotoAndStop(3);
}
ExternalInterface.addCallback("clicado", this, clicado);
ExternalInterface.addCallback("ok", this, ok);
Já estou +- umas 3hrs procurando alguma solução para o problema e ainda não achei nada! =/
Obg
RESOLVIDO
Era problema no Player do linux.
Criei uma variável no flash e botei o valor dela como externalcall.avaliable que retorna true ou false. No caso do linux retornou false.
Pergunta
Kutxitxo
Olá!
É o seguinte: Tenho um arquivo flash que chama uma função quando uma tecla é pressionada. Nessa função eu chamo uma função do swf pra mover um mc para o frame 2, por exemplo.
No Windows com firefox funciona tudo como combinado, o problema é que eu preciso fazer funcionar no Linux (Ubuntu) + firefox.
Segue os códigos:
Codigo Resumido do HTML
<script type="text/javascript"> <!-- // F. Permadi May 2000 function getFlashMovieObject(movieName) { if (window.document[movieName]) { return window.document[movieName]; } if (navigator.appName.indexOf("Microsoft Internet")==-1) { if (document.embeds && document.embeds[movieName]) return document.embeds[movieName]; } else // if (navigator.appName.indexOf("Microsoft Internet")!=-1) { return document.getElementById(movieName); } } function inicio() { document.onkeydown = checkKeycode; } function checkKeycode(e) { var keycode; if (window.event) keycode = window.event.keyData; else if (e) keycode = e.which; var flashMovie=getFlashMovieObject("navmovie"); flashMovie.clicado("key27"); alert("keycode: " + keycode); return false; } </script> <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0" ID="navmovie" WIDTH="496" HEIGHT="177"> <PARAM NAME="movie" VALUE="keyboard-pt.swf"> <PARAM NAME="play" VALUE="false"> <PARAM NAME="quality" VALUE="high"> <param name="flashvars" value="id=navmovie" /> <EMBED id="navmovie" NAME="navmovie" SRC="keyboard-pt.swf" WIDTH="496" HEIGHT="177" SWLIVECONNECT="true" QUALITY="high"> </OBJECT>AS do Flash no Primeiro Framestop(); import flash.external.ExternalInterface; function clicado(key) { this[key].gotoAndStop(2); } function ok(key) { this[key].gotoAndStop(3); } ExternalInterface.addCallback("clicado", this, clicado); ExternalInterface.addCallback("ok", this, ok);Já estou +- umas 3hrs procurando alguma solução para o problema e ainda não achei nada! =/
Obg
RESOLVIDO
Era problema no Player do linux.
Criei uma variável no flash e botei o valor dela como externalcall.avaliable que retorna true ou false. No caso do linux retornou false.
Coloquei outro player e foi normal :)
Editado por Jonathan QueirozLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.