Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

legus

Controlar movieclipe pelo teclado

Recommended Posts

Boa tarde pessoal! Uma ajuda por favor

Tenho uma dúvida de como controlar a animacao do movieclipe atraves das setas do teclado.

Descrição da situação:

 

A a nimação é em um banner 468x300, onde temos um painel de um carro simulando movimento e ao lado uma telinha de GPS.

o carro vai andar para frente, esquerda e direita. Sendo que o movimento só pderá ser acionado quando a seta do GPS apontar para uma direção.

Por exemplo: A seta do GPS aponta para direita, o usuario tem q imediatamete pressionar o direcional para direita e o moviclipe do carro vira pra direita. Se o usauario não fizer o comando a tempo, será mostrado um erro qualquer.

 

Entendeu?

Como faço essa interação?

estou tentando fazer usando "Key.isDown(Key.RIGHT)" normalmente, mas nao estou sabendo preparar essa logica.

Se desejar eu mando a animacao em .fla, caso não fui claro.

 

obrigado

Estou estudando ainda e nao domino o AS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, o link que lhe passei ensina a capturar as teclas do teclado. concerteza vai lhe ajudar, você não está querendo que alguém faça o código pra você né?

Só pra te dar uma dica:

 

var listener = new Object();
listener.onKeyDown = function(){
 if(Key.isDown(Key.RIGHT){
   _root.nextFrame() //passa o filme para frente
}
}
Key.addListener(listener);

 

Abs.. qq duvida estamos á disposição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, o link que lhe passei ensina a capturar as teclas do teclado. concerteza vai lhe ajudar, você não está querendo que alguém faça o código pra você né?

Só pra te dar uma dica:

 

var listener = new Object();
listener.onKeyDown = function(){
 if(Key.isDown(Key.RIGHT){
   _root.nextFrame() //passa o filme para frente
}
}
Key.addListener(listener);

 

Abs.. qq duvida estamos á disposição.

 

ok meu amigo, mas a duvida é a logica de desenvolvimento, saca?... e se alguem fizer nao vai adiantar, a dúvida vai continuar, pois não irá resolver o meu problema de saber como funciona... quero entender o raciocinio e nao que alguém faça o meu trabalho.

 

olha o q eu fiz como teste:

 

_root.asfalto.rua.onEnterFrame = function () {

 

if (Key.isDown(Key.RIGHT)) {

trace("Curva para direita");

 

this.gotoAndPlay("curva_direita");

_root.asfalto.faixa_rua._visible=false // ao fazer a curva para direita deixa mc faixa false

_root.painel.movie_painel.gps.gps_seta.gotoAndPlay("start"); // retorna o paunel gps para sua posicao inicial

 

}

}

 

ate ai tudo bem.

como faco que esse comando, so seja abilitado quando a seta apontar para a direita?

Se o usuario manter presseionado o teclado o mc rua nao inicia, somente quando solta a tecla.

 

e por ai vai. o caminho é esse?

 

se puder me ajudar estarei grato..... nao me interprete mal a minha resposta, ok?

 

abracos e obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo ...

 

A lógica é a seguinte ...

 

1) Criados todos os eventos na timeline ou em MCs ...

2) Criados todos os MCs como volante e GPS .. etc..

3) Deixa a nimação rolar até a seta virar para a direita... e coloque um Stop() para o usuário ver que deve virar para a direita.

4) Função virarDireita() {

gotoAndPlay(quadro da animação virando para a direita)..;

}

 

5) Fução Erro() {

gotoAndPlay(quadro caso o usuário solte a tecla)..;

}

 

6) Cria um listener para isso aí ... usa o listener para chamar o primeiro evento (if / else da vida)

If(Key .isDown(Key.RIGHT){

virarDireita();

}

else {

Erro();

}

 

7) Registra os Listeners e já era ...

 

--> Ou seja .. Quase a mesma coisa que o weverton disse .. Vale a pena se inspirar na idéia dele ..

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.