1
resposta

Montar o esquadro chamando a função uma única vez

Boa noite. A minha intenção era criar o esquadro chamando a função uma única vez, ao invés de chamar duas e criar um triângulo em cima do outro. Porém, utilizando o código abaixo, apenas o esquadro preto aparece, o branco não. Não consigo encontrar o meu erro.

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

<script>

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

    function desenhaEsquadro(xa, ya, xc, yc, corFora, corDentro) {

        pincel.fillStyle=corFora
        pincel.beginPath();
        pincel.moveTo(xa, ya);
        pincel.lineTo(xc, yc);
        pincel.lineTo(xa, yc);
        pincel.fill();

        pincel.fillStyle=corDentro
        pincel.beginPath();
        pincel.moveTo(xa+50, ya+125);
        pincel.moveTo(xc-125, yc-50);
        pincel.moveTo(xa+50, yc-50);
        pincel.fill();
    }

    desenhaEsquadro(50, 50, 400, 400, "black", "white");

</script>

EDIT:

Já percebi meu erro: escrevi "moveTo" ao invés de "lineTo" duas vezes.

1 resposta

Olá, Ernani! Tudo bem contigo?

Isso mesmo!

Com essa alteração roda perfeitamente!

Bons estudos!!!