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

Mova a bolinha. Use SHIFT e CONTROL para alterar o RAIO

<canvas width="600" height="400"></canvas>
<script>
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'white';
    pincel.fillRect(0, 0, 600, 400);
    // Posição inicial bolinha
    var x = 20;     var y = 20;  var controlRaio = 10;
    // códigos do teclado
    var esquerda = 37;    var cima = 38;    var direita = 39;    var baixo = 40;
    var espaco = 32; var shift = 16; var control = 17;
    // taxa de incremento
    var taxa = 10;
    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, controlRaio);
    }
    setInterval(atualizaTela, 5);
    function leDoTeclado(evento) {
        //alert(evento.keyCode);   para mostrar as teclas que você pode usar
        if (evento.keyCode == 37) {x=x-taxa} 
            if (evento.keyCode == 39) {x=x+taxa} 
                if (evento.keyCode == 38) {y=y-taxa} 
                    if (evento.keyCode == 40) {y=y+taxa} 
        if (evento.keyCode == 16) {controlRaio++;}                
        if (evento.keyCode == 17) {controlRaio--;}
    }
document.onkeydown = leDoTeclado;
</script>
2 respostas
solução!

É isso mesmo Alexandre. Eu só retiraria do código as variáveis abaixo pois elas não interferem no funcionamento do programa:

    var esquerda = 37;    var cima = 38;    var direita = 39;    var baixo = 40;
    var espaco = 32; var shift = 16; var control = 17;

Para um código pequeno pode não fazer diferença, mas quando os códigos forem ficando mais complexos ficar carregando variáveis que não serão utilizadas faz com que o programa fique com um processamento mais lento.

Você pode deixar as informações acima como um comentário, assim:

  // esquerda = 37;    cima = 38;    direita = 39;    baixo = 40;  espaco = 32;  shift = 16;  control = 17;

Bem informado, André! Obrigado pela dica valiosa. Carga de processamento é inportantíssimo.