Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Bolinha se mexe errado

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>
2 respostas
solução!

Oi, Luiz. keyCode foi digitado errado

A bolinha não estava se movimentando.

Era a tela que se movia.

Use uma tela menor

<canvas width="800" height="600" style="background: silver;"></canvas>

Esses pequenos detalhes que me pegam. Deu certo, obrigado pela resposta.