Andreeh15 0 Denunciar post Postado Maio 16, 2012 Tenho um personagem em meu jogo e fiz o movimento básico dele no ActionScript3, mas quero que ele movimente-se também nas diagonais, ou seja, usando duas teclas ao mesmo tempo. Meu código: stage.addEventListener(KeyboardEvent.KEY_DOWN, moverJogadorVermelho); function moverJogadorVermelho(e:KeyboardEvent):void{ switch(e.keyCode) { case 39: JogadorVermelho.x += 10; break; } } Compartilhar este post Link para o post Compartilhar em outros sites
Daniel o rei 14 Denunciar post Postado Maio 20, 2012 tem uma forma. sem bugs e nada. Primeiro crie 4 variaveis do tipo Boolean var key_UP:Boolean = ; var key_DOWN:Boolean = ; var key_LEFT:Boolean = ; var key_RIGHT:Boolean = ; e os eventos stage.addEventListener(KeyboardEvent.KEY_DOWN, kdown); stage.addEventListener(KeyboardEvent.KEY_UP, kup); stage.addEventListener(Event.ENTER_FRAME , update); Vai funcionar da seguinte forma: Toda vez que uma das 4 teclas estiverem apertadas vai estar true. Se soltar vai para false. function kdown(e:KeyboardEvent):void{ switch(e.keyCode){ case 38: //up key_UP = true; break ; case 40: //down key_DOWN = true; break ; case 37: //left key_LEFT = true; break ; case 39: //right key_RIGHT = true; break ; } } function kup(e:KeyboardEvent):void{ switch(e.keyCode){ case 38: //up key_UP = false; break ; case 40: //down key_DOWN = false; break ; case 37: //left key_LEFT = false; break ; case 39: //right key_RIGHT = false; break ; } } Agora o resto é com enter frame function update(e:Event):void{ if(key_UP){ JogadorVermelho.y -= 5; } if(key_DOWN){ JogadorVermelho.y += 5; } if(key_LEFT){ JogadorVermelho.x -= 5; } if(key_RIGHT){ JogadorVermelho.y -= 5; } } Falta os imports Compartilhar este post Link para o post Compartilhar em outros sites