1
resposta

Substituindo evento.keyCode por uma var

E não é que deu certo? Consegui fazer sem olhar parte alguma da resolução do professor! Sei que parece tolo, mas muitas vezes preciso de uma luz! Bom, o código ficou dessa forma:

<canvas width="600" height="400"></canvas>

<script>

var tela = document.querySelector("canvas");
var pincel = tela.getContext("2d");

var x = 20;
var y = 20;
var taxa = 10; // taxa de incremento x e y

var esquerda = 37;
var cima = 38;
var direita = 39; //códigos de ident. das setas do teclado
var baixo = 40;

function desenhaCirculo(x, y, raio) {

    pincel.fillStyle = "blue";
    pincel.beginPath();
    pincel.arc(x, y, raio, 0, 2 * Math.PI);
    pincel.fill();
} 

function limpaTela() {

    pincel.clearRect(0, 0, 600, 400);
}

function atualizaTela() {

    limpaTela();
    desenhaCirculo(x, y, 10);
}

setInterval(atualizaTela, 20);

function leDoTeclado(evento) {

    var seta = evento.keyCode;

    if(seta == esquerda) {
        x = x - taxa;
    }    else if(seta == cima) {
            y = y - taxa;
        }    else if(seta == direita) {
                x = x + taxa;
            }    else if(seta == baixo) {
                    y = y + taxa;
                }
}

document.onkeydown = leDoTeclado;

</script>

Eu preferi substituir o evento.keyCode pela var "seta", bem mais prático! Valeu galera, bons estudos ;)

1 resposta

Que massa! Eu quebrei a cabeça tentando bolar uma lógica mais complexa e não deu resultado algum. O seu foi ótimo! Parabéns!