Realizado solução de forma diferente, do professor, não ficou um código limpo, mas consegui atingir o objeito de mexer circulo com mouse entre suas coordenadas x e y
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Mover Circulos Teclado</title>
</head>
<body>
<canvas width="600" height="400"></canvas>
<script>
var tela = window.document.querySelector("canvas");
var pincel = tela.getContext("2d");
pincel.fillStyle = "#c2c2c2";
pincel.fillRect(0, 0, 600, 400);
var x = 20;
var y = 20;
var right = 39;
var left = 37;
var up = 38;
var down = 40;
var taxa = 10;
var raio = 10;
function desenhaCirculo(x, y, raio) {
pincel.fillStyle = "#0000ff";
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaTela() {
pincel.clearRect(0, 0, 600, 400);
}
function atualizarTela() {
limpaTela();
desenhaCirculo(x, y, raio);
}
setInterval(atualizarTela, 20);
function leDoTeclado(evento) {
if (evento.keyCode == right && x < 580) {
desenhaCirculo(x, y, raio);
x += taxa;
} else if (evento.keyCode == left && x > 20) {
desenhaCirculo(x, y, raio);
x -= taxa;
} else if (evento.keyCode == down && y < 380) {
desenhaCirculo(x, y, raio);
y += taxa;
} else if (evento.keyCode == up && y > 20) {
desenhaCirculo(x, y, raio);
y -= taxa;
}
}
window.document.onkeydown = leDoTeclado;
</script>
</body>
</html>
Dúvida!!! Tento resolver os exercicios antes de ver a solução do professor, e nesse exercicio percebi que ele não add a função desenhaCirculo dentro da condição if para execução do evento pelo teclado. É errado add como eu fiz?