Boa tarde,
ao tentar incrementar o codigo com a diagonal, me deparei com um problema. O codigo so joga a diagonal uma unica vez, depois escolhe, por alguma regra que desconheço, uma das teclas e continua somente nela. Ex.: aperta esquerda + baixo, a bolinha vai para a diagonal inferior esquerda uma unica vez e depois continua o movimento somente para baixo, ou somente para a esquerda, mesmo mantendo ambas as teclas esquerda e baixo pressionadas. Eis aqui a minha implementação:
function apertaTeclado(evento) {
if(evento.keyCode == esquerda){
x = x - atualiza;
}
if(evento.keyCode == cima) {
y = y - atualiza;
}
if(evento.keyCode == direita) {
x = x + atualiza;
}
if(evento.keyCode == baixo) {
y = y + atualiza;
}
if(evento.keyCode == esquerda && evento.keyCode == cima) {
x = x - atualiza;
y = y - atualiza;
}
if(evento.keyCode == direita && evento.keyCode == baixo) {
x = x + atualiza;
y = y + atualiza;
}
if(evento.keyCode == esquerda && evento.keyCode == baixo) {
x = x - atualiza;
y = y + atualiza;
}
if(evento.keyCode == direita && evento.keyCode == cima) {
x = x + atualiza;
y = y - atualiza;
}