Teclas pressionadas ao mesmo tempo

3 respostas
J

Fala galera

Como identifico se duas teclas estão pressionadas ao mesmo tempo, e quais teclas são?

Valeu!!!

3 Respostas

I

Isso eu vi em um livro de jogos. Tu vais ter de criar um array de estados para todas as teclas que tu queres mapear.

Depois faz teu programa implementar KeyListener. Quando uma tecla for pressionada o keyPressed deve atualizar o array com o estado “on” da tecla. Quando o keyReleased for acionado tu deves desmarcar o array.

Em background deve ter uma Thread lendo o array pra ver o que está on ou off para tomar a ação que tu deseja.

Espero que não tenha ficado confuso, mas certa vez começei a implementar um jogo e fiz assim. T+

FieroddPJ
// se for alfanumerico (letras e numeros)
 if (id == KeyEvent.KEY_TYPED) {
            char c = e.getKeyChar();
            keyString = "key character = '" + c + "'";
 }
// se forem teclas modificadoras (ctrl, shift ...)
 else{
            int keyCode = e.getKeyCode();
            keyString = "key code = " + keyCode
                        + " ("
                        + KeyEvent.getKeyText(keyCode)
                        + ")";
}

exemplo copiado de:
http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
:wink:

J

Olá Iktuz

Valeu, foi exatamente isso que eu fiz. Eu só precisava saber do evento Released e acabei descobrindo.

Obrigado

Criado 13 de novembro de 2006
Ultima resposta 14 de nov. de 2006
Respostas 3
Participantes 3