1
resposta

mostra erro no segundo querySelector erro de símbolo, ai não funciona.

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

<script>
    function desenhaBandeiraBrasil() {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle = 'green';
        pincel.fillRect(0, 0, 600, 400);

        pincel.fillStyle= 'yellow';
        pincel.beginPath();
        pincel.moveTo(300, 50);
        pincel.lineTo(50, 200);
        pincel.lineTo(550, 200);
        pincel.fill();

        pincel.beginPath();
        pincel.moveTo(50, 200);
        pincel.lineTo(300, 350);
        pincel.lineTo(550, 200);
        pincel.fill();

        pincel.fillStyle='darkblue';
        pincel.beginPath();

        pincel.arc(300, 200, 100, 0, 2 * Math.PI);
        pincel.fill();


        function desennhaBandeiraAlemanha()
         var tela = document.querySelector('canvas');
         var pincel = tela.getContext('2d');

         pincel.fillStyle= 'black';
         pincel.fill(0, 0, 600, 133);


         pincel.fillStyle= 'red';
         pincel.fill(0, 133, 600, 133);


         pincel.fillStyle= 'yellow';
         pincel.fill(0, 266, 600, 133);
    }

    var mostraBrasil = true;

    function trocaBandeira(){
        if(mostraBrasil == true){
            desenhaBandeiraBrasil();
        } else {
            desennhaBandeiraAlemanha();
        }

        if(mostraBrasil == true){
            desenhaBandeiraBrasil();
            mostraBrasil = false;
        } else{
            desennhaBandeiraAlemanha();
            mostraBrasil = true;
        }
        mostraBrasil = !mostraBrasil;

    }

    setInterval(trocaBandeira, 300);

</script>
1 resposta

Olá, Mariana! Tudo bem contigo?

Desculpe a demora em dar um retorno

Primeiro, vemos que a função desennhaBandeiraAlemanha está dentro da função desenhaBandeiraBrasil. Neste caso, vamos isolar cada função

    function desenhaBandeiraBrasil() {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle = 'green';
        pincel.fillRect(0, 0, 600, 400);

        pincel.fillStyle= 'yellow';
        pincel.beginPath();
        pincel.moveTo(300, 50);
        pincel.lineTo(50, 200);
        pincel.lineTo(550, 200);
        pincel.fill();

        pincel.beginPath();
        pincel.moveTo(50, 200);
        pincel.lineTo(300, 350);
        pincel.lineTo(550, 200);
        pincel.fill();

        pincel.fillStyle='darkblue';
        pincel.beginPath();

        pincel.arc(300, 200, 100, 0, 2 * Math.PI);
        pincel.fill();
    }


    function desennhaBandeiraAlemanha() {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle= 'black';
        pincel.fill(0, 0, 600, 133);


        pincel.fillStyle= 'red';
        pincel.fill(0, 133, 600, 133);


        pincel.fillStyle= 'yellow';
        pincel.fill(0, 266, 600, 133);
    }

Feito isso, agora faltou somente o fillRect na função desennhaBandeiraAlemanha

    function desennhaBandeiraAlemanha() {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle= 'black';
        pincel.fillRect(0, 0, 600, 133);


        pincel.fillStyle= 'red';
        pincel.fillRect(0, 133, 600, 133);


        pincel.fillStyle= 'yellow';
        pincel.fillRect(0, 266, 600, 133);
    }

Espero ter ajudado, Mariana!

Um abraço e bons estudos