Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Pq o meu não foi, assim ?

Tipo entendi bm a lógica do professor, mas pq assim ele só aparece o da Alemanha ?

<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* 3.14);
    pincel.fill ();
}


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


var fiscal = true;

function alterna () {

    if (fiscal == true) {

        desenhaBandeiraBrasil ();
        fiscal = false;
    }

    if (fiscal == false) {

        desenhaBandeiraAlemanha ();
        fiscal = true;

    }

}

setInterval (alterna, 1000);

</script>

Ah e alguém poderia responder aqla outra pergunta q fiz e está sem resposta pfvr ????

1 resposta
soluçã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 * 3.14);
        pincel.fill();

        setTimeout(function() {
            desenhaBandeiraAlemanha();
        }, 3000)
    }


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

        setTimeout(function () {
            desenhaBandeiraBrasil();
        }, 3000)
    }

    desenhaBandeiraBrasil();

Se o objetivo é alternar as bandeiras, dar para ser feito assim, espero ter ajudado, adicionei a function setTimeout(), no fim de cada função, passando 3 segundos a função chama a bandeira oposta, sem precisar ficar chamando uma terceira function e ficar fazendo verificação de estado. Comecei o programa iniciando a function desenhaBandeiraBrasil(), assim inicia o loop de uma function ficar chamando a outra.