Ir para conteúdo
Fórum Script Brasil
  • 0

Executar movieclip com uma tecla do teclado


ViniciusJau

Pergunta

E ai galera... beleza ??

seguinte.. tenho um codigo em um movieclip que quando ele é clicado ele tira uma foto com o flash..

na verdade ele está funcionando como um botão...

alguém sabe como eu posso fazer pra ele se acionado quando a pessoa apertar uma tecla no teclado por exemplo a letra F

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá Vinicius ^_^

é bem simples vou colokar em as3 e as2

AS2:

var listenerKeyboard:Object = new Object(); 
listenerKeyboard.onKeyDown = function(){ 
var numTecla:Number = 38; //tecla para cima
if(Key.getCode() == numTecla){
trace('para cima');
}

}; 
Key.addListener(listenerKeyboard);
AS3:
stage.addEventListener(KeyboardEvent.KEY_DOWN,keys);

function keys(e:KeyboardEvent){
var numTecla:uint = 38; //38 = seta-cima, você usa o codigo da tecla desejada ele verifica se ela foi apertada
if (e.keyCode==numTecla){
//o que vai acontecer
}
}

bem simples ambos os dois, na internet você acha facilmente os keycodes para o flash, caso não ache, coloque para ele dar um 'trace' e veja o que sai no output, é o code q você vai usar :)

Boa sorte

Abraços

Pooh

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, você deve colocar o código na cena em branco :)

No mesmo frame em que se encontra o movieClip

Se o seu caso for AS2

var listenerKeyboard:Object = new Object();

listenerKeyboard.onKeyDown = function(){

var numTecla:Number = 38; //tecla para cima

if(Key.getCode() == numTecla){

trace('para cima');

}

};

Key.addListener(listenerKeyboard);

Aonde coloquei ali 'trace('para cima');' é o que acontece quando se aperta a seta 'para cima'

ali poderia ter um comando ou qualquer outra coisa;

Para alterar a tecla a ser usada você deve mexer no numero, no nosso caso '38' para o numero da tecla desejada, esses numeros se chamam keyCodes;

Qualquer duvida volte aqui :)

Abraços

Pooh

Link para o comentário
Compartilhar em outros sites

  • 0

Caramba ainda não deu certo...

a unica coisa que eu fiz foi mudar o 38 pra 70 que seria a tecla F seguindo essa tabela aqui: http://forum.wmonline.com.br/index.php?sho...st&p=259124

Mas mesmo mantendo o 38 ele não funcionou também será que está dando conflito com alguma outra coisa que eu tenho no flash ?

UPDATE

coloquei o arquivo fla aqui:

http://www.morandosozinho.net/webcam.fla

Editado por ViniciusJau
Link para o comentário
Compartilhar em outros sites

  • 0

Não sei lhe responder Vinicius

Pois baixei seu fla, rodei aki, troquei o 70 por 38 e....funcionou :)

aqui a modificação:

var listenerKeyboard:Object = new Object();
listenerKeyboard.onKeyDown = function() {
    var numTecla:Number = 38;
    //tecla para cima
    if (Key.getCode() == numTecla) {
        trace('Output');
        output();
    }
};
Key.addListener(listenerKeyboard);

Apertei a tecla para cima e Vualá !! printou Output e executou sua função....

Abraços

Pooh

Link para o comentário
Compartilhar em outros sites

  • 0

Caramba rs..

será que pode ser a maneira como estou inserindo o flash na pagina, ou exportando ele ?

Porque quando eu exporto ele (apertando CTRL+ENTER) se eu aperto o botão com o mouse ele funciona mas na pagina ele só funciona quando eu clico em cima do arquivo em flash.. e em seguida a perto o botão refente a tecla

Pra inserir ele na pagina eu fiz o seguinte

coloco entre o head da pagina:

.

.

&lt;script src="flash.js" language="JavaScript" type="text/javascript"></script>

</head>

<body>

&lt;script language="javascript">

carregaFlash('webcam.swf','320','280'); // Descrevo o caminho a largura e a altura do swf..

</script>

.

.

e o arquivo flash.js fica assim:

function carregaFlash(caminho,largura,altura)

{

document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+largura+'" height="'+altura+'">');

document.write('<param name="movie" value="'+caminho+'">');

document.write('<param name="quality" value="high">');

document.write('<param name="wmode" value="transparent">');

document.write('<param name="menu" value="false">');

document.write('<embed src="'+caminho+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+largura+'" height="'+altura+'" wmode="transparent"></embed>');

document.write('</object>');

}

Será que pode ser algo do tipo...

também estou rodando local usando easyphp ... será que tem alguma diferença rodar na web ?

tentei inserir pelo dreamweaver e ele não funciona também...

Sei que to ficando doido já rs...

Editado por ViniciusJau
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...