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

Por que não desenha nada?

Eu não faço a menor ideia de porque esse código simplesmente não desenha nada, alguém consegue encontrar o erro nele? Porque pra mim ele deveria funcionar perfeitamente. Edit 1: Logo depois de postar isso eu percebi que estava faltando os parênteses na chamada das funções dentro da função trocaAsBandeiras. Mas mesmo colocando os parênteses, ele desenha a bandeira do Brasil depois de 3 segundos e não sai dela. De novo, alguém sabe onde está o erro?

<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 bandeira = 1

    function trocaAsBandeiras() {
        if (bandeira = 1) {
            desenhaBandeiraBrasil()
            bandeira++
        } else if (bandeira = 2) {
            desenhaBandeiraAlemanha()
            bandeira = 1
        }
    }

    setInterval (trocaAsBandeiras, 3000);

</script>
1 resposta
solução!

Boa Noite Amigo.

percebi que na sua função trocaAsBandeiras() no if está faltando um =

exemplo if (bandeira == 1){}

else if (bandeira == 2){}

obs: quando colocado um = é a mesma coisa que falar que bandeira recebe 1, já o == seria para comparação.

espero ter ajudado... obrigado