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

Erro no comando tela.getContext('2d'): Ajuda, por favor!

Olá, galera! Estou com um problema: quando executo meu código, o console do Chrome apresenta erro na definição da variável "canetão", como erro de leitura do get.Context('2d').

Esta é a mensagem de erro: Uncaught TypeError: Cannot read property 'getContext' of null.

O que pode estar incorreto? Poderiam me auxiliar?

Agradeço desde já!

<canvas width="600" height="400"></canvas>
<script>
    var tela = document.querySelector("input");
    var canetao = tela.getContext('2d');

    function drawCircle(x,y,raio,cor){

        canetao.fillStyle = cor;
        canetao.beginPath();
        canetao.arc(x,y,raio,0,2*Math.PI);
        canetao.fill();
    }

    function cleanTela(){
        canetao.clearRect(0,0,600,400);
    }

    var x=20;

    function newBolinha(){
        cleanTela();
        drawCircle(x,20,10);
        x++;
    }
    // Estabelece uma nova figura em um dado intervalo de tempo, dando uma ideia de movimento a bolinha.
    setInterval(newBolinha,10);
</script>    
2 respostas
solução!

Oi Karol, tudo certo? :)

Acredito que o seu erro esteja ocorrendo porque ao declarar a variável

var tela = document.querySelector("input");

você seleciona o elemento input do seu código HTML, que por sua vez não está presente no código. Além disso, o elemento input não possui a propriedade getContext(), o que explica o erro que você recebeu, que diz que não consegue ler a propriedade de null.

Para que o seu código funcione corretamente, você precisa selecionar o elemento canvas do seu mundo HTML. Para isso, substitua o código acima por:

var tela = document.querySelector("canvas");

Uau!

Que erro bobo!

Passei horas tentando entender o que podia estar errado haha.

Muito obrigada, José Merlo!

Abraço!