1
resposta

pq minha bandeira da Alemanha muda de cor

na segunda vez que a bandeira da Alemanha aparece a barra que era preta fica azul, por que?

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

<script>


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


    function desenhaBandeiraBrasil(){


        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 desenhaBandeiraAlemanha(){

        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);

    }

    var contador = 1;


    function trocaBandeira(){



        if (contador == 2){

            contador = 0;
        }

        if (contador == 0){

            desenhaBandeiraBrasil();
            contador++;

        } else if (contador == 1){

            desenhaBandeiraAlemanha();
            contador = contador - 1;

        }

    }

    setInterval(trocaBandeira, 3000);









</script>
1 resposta

Adriano, boa tarde!

Na função de desenhar a bandeira da Alemanha, fillStyle está escrito com o S minusculo

 function desenhaBandeiraAlemanha(){
        pincel.fillstyle = "black";

Basta alterar para:

 function desenhaBandeiraAlemanha(){
        pincel.fillStyle = "black";

Que funcionará corretamente!

Espero ter ajudado e bons estudos!