Fiz o código do zero mais de uma vez, sempre comparando o meu com o do exercício mas por algum motivo a bolinha não se mexe como o esperado. Sempre que eu aperto a seta pra esquerda ela vai pra direita, e quando eu aperto pra direita ela vai pra esquerda, e não anda mais do que duas vezes por clique, pra cima e pra baixo ela nem anda. Alguém pode me ajudar a encontrar o erro no meu código? Eu copiei e colei o do exercício e funcionou perfeitamente mas quando eu faço não da certo, segue meu código abaixo.
<canvas width="1080" height="720"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'white';
pincel.fillRect(0, 0, 1080, 720);
var x = 20;
var y = 20;
var esquerda = 37
var cima = 38
var direita = 39
var baixo = 40
var taxa = 10;
function bolinha(x, y) {
pincel.fillStyle = 'black';
pincel.beginPath();
pincel.arc(x, y, 10, 0, 2 * Math.PI);
pincel.fill();
}
function limpa() {
pincel.clearRect(0, 0, 1080, 720);
}
function atualiza() {
limpa();
bolinha(x, y);
}
setInterval(atualiza, 20);
function comando(evento) {
if(evento.keycode == cima) {
y = y - taxa;
} else if(evento.keycode == baixo) {
y = y + taxa;
} else if(evento.keycode == esquerda) {
x = x - taxa;
} else if(evento.keycode == direita) {
x = x + taxa;
}
}
document.onkeydown = comando;
</script>