1
resposta

Bandeira demora para aparecer primeira vez

Quando rodo o programa a primeira bandeira demora 1 segundo (o tempo que eu coloquei no intervalo entre elas) para aparecer, enquanto isso a tela fica em branco. É assim mesmo ou teria que usar outro código para ela aparecer assim que recarregasse a página?

<script>





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

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

        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 = 'blue';
        pincel.beginPath();
        pincel.arc(300,200,100,0,2*3.14);//primeiro é eixo x, eixo y, raio, angulo, e PI.
        pincel.fill();

    }

    function bandeiraAlemanha(){
        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);//NÃO PRECISA DE PINCEL.FILL();


    }

    var mostraBrasil =true;

    function trocaBandeira(){


        if (mostraBrasil==true){
            bandeiraBrasil();
            mostraBrasil=false;
        }
        else{

            bandeiraAlemanha();
            mostraBrasil = true;
        }

    }

    setInterval(trocaBandeira,1000);

</script>
1 resposta

Olá José, tudo bem?

Essa tela branca aparece por causa do intervalo de tempo que você definiu, então sim, está correto.

Espero ter ajudado, bons estudos! =)