Olá.
Estou fazendo um jogo de penalty como trabalho na faculdade e estou com problemas para capturar eventos do teclado.
Olhem a situação. Do ponto de vista do keyPressed:
utilizei ele, consegui capturar os eventos do teclado só que ele não consegue ler todas as teclas do teclado numérico, não consegue ler:1,3,7 e 9 isso é normal do keyPressed ?
Segundo olhem abaixo o meu código onde utilizo getKeyStates:
public void capturaAcao() {
int keyStates = getKeyStates();
if ((keyStates & KEY_NUM1) != 0) {
jogo.setCanto(1);
captureiIO = true;
} else if ((keyStates & KEY_NUM2) != 0) {
jogo.setCanto(2);
captureiIO = true;
} else if ((keyStates & KEY_NUM3) != 0) {
jogo.setCanto(3);
captureiIO = true;
} else if ((keyStates & KEY_NUM4) != 0) {
jogo.setCanto(4);
captureiIO = true;
} else if ((keyStates & KEY_NUM5) != 0) {
jogo.setCanto(5);
captureiIO = true;
} else if ((keyStates & KEY_NUM6) != 0) {
jogo.setCanto(6);
captureiIO = true;
} else if ((keyStates & KEY_NUM7) != 0) {
jogo.setCanto(7);
captureiIO = true;
} else if ((keyStates & KEY_NUM8) != 0) {
captureiIO = true;
} else if ((keyStates & KEY_NUM9) != 0) {
jogo.setCanto(9);
captureiIO = true;
}
//depois de capturar a entrada está apto a correr
isRunning = true;
}
onde o método setCanto, set o canto onde o jogador vai bater ou defender o penalti
esse método é chamado assim
captureiIo = false;
if (!captureiIO) {//serve para executar até ter conseguido capturar as instruções
capturaAcao
}
else if (captureiIO)
//atualiza a lógica do jogo
//joga na tela
//espera uns segundos
//e no final seta captureiIO como false
Gostaria de saber qls os erros que olhando assim vcs acham que contém nesse código ?