Olá GUJ!
Não sei se é aqui o local certo para que eu me informe sobre isso. Veja bem, eu ando ultimamente estudando criação simples e básica de jogos. E, estou fazendo um joguinho bem bobo de nave parecido com o clássico “Space Invaders”. Notei que ao programar as teclas de ação para o jogo, elas não respondiam corretamente (como eu esperava).
O que acontece, é que eu descobri que ao segurar uma tecla por exemplo, a tecla tem uma espécie de “delay” para que ela se repita. Veja esse meu exemplo:
Você programa para que as teclas direcionais esquerda e direita movam sua nave para as respectivas direções. Porém, ao segurar para a esquerda por exemplo, a nave anda o que ela deve andar para esquerda, para por um tempo, e só então ela começa a movimentar-se seguidamente para a esquerda. Deixando de forma mais clara, [color=red]se coloco minha nave para movimentar-se -3 para esquerda e +3 para a direita, e seguro para a esquerda, ela anda -3, PARA POR UM SEGUNDO DE SE MOVIMENTAR , e só depois, ela começa a andar seguidamente para a esquerda diminuindo continuamente -3 da posição atual dela.[/color]
[color=green]Conclui-se que, ela para uma ação que esteja fazendo, e depois de 1 segundo, começa a realizar a nova ação que deve fazer.[/color]
Isso é muito, mas muito estranho. Não sei se isso é problema do próprio computador (eu não entendo muito de sistemas de computador, mas sou um programador amador de Java).
Antes eu estava com um problema de ao apertar mais de uma tecla ao mesmo tempo, a segunda tecla iria sobrepor a primeira, mas resolvi esse problema com valores “booleanos”.
Eu postei um vídeo no YouTube, e gostaria muito mesmo que vocês olhassem para ver do que eu estou falando:
Percebam que fico todo momento apertando mais de uma tecla seguida (dá para ver nos valores “booleanos”), porém, a nave para no momento em que eu teclo uma tecla nova ou desaperto uma. É muito estranho isso e infelizmente eu não estou achando solução alguma para isso. Já procurei aqui no GUJ e infelizmente não achei. procurei algo como “delay de tecla pressionada” ou “tecla delay” ou “delay pressionar” ou “tempo tecla pressionada”, mas nada. Não achei. Por isso preciso de ajuda de forma específica.
Gostaria que dessem uma olhada no vídeo por gentileza, é apenas 1:06 minutos o vídeo.
Desde já agradeço a atenção de todos!
Abraços!