2
respostas

Explicação do código passo a passo para criar os triângulos

Irei postar a cada exercício que o professor trouxer na aula a explicação do passo a passo de como foi feito.

As vezes explicando pelo meu ponto de vista e como entendi ajude alguém que tenha dúvidas.

Espero ter ajuda. Sucesso na sua jornada!!

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

<script>

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

    pincel.fillStyle = "green"; 
    pincel.fillRect(0, 0, 200, 400); 

    pincel.fillStyle = "red"; 
    pincel.fillRect(400, 0, 200, 400); 

    // Para iniciarmos o triângulo temos que entender que o Eixo X (Largura) vai de 0 a 600 e o Eixo Y (Altura) vai de 0 a 400

    pincel.fillStyle = "yellow"; // preciso escolher a cor antes de começar a fazer as linhas, senão irá pintar com a última cor usada
    pincel.beginPath(); // aqui eu indico que irei iniciar o caminho, as linhas
    pincel.moveTo(300,200); // indiquei que coloquei o pincel para iniciar na posição do eixo X em 300 e na posição do eixo y em 200
    pincel.lineTo(200,400); // criei uma linha que vai da posição inicial até a posição do eixo X em 200 e do eixo Y em 400
    pincel.lineTo(400,400); // criei uma linha que vai da última posição até a posição do eixo X em 400 e do eixo Y em 400
    pincel.fill(); // com a função .fill eu pedi para que fosse preenchida essas linhas

    // Notem que não precisou ser feita uma outra linha fechando o triângulo para que pudesse ser feito o preenchimento. Não sei se o sistema já entende que aquele é último ponto e automaticamente "fecha" a linha do último ponto com o ponto inicial e faz o preenchimento. Eu creio que seja por aí, pois deu certo kkk. 

</script>
2 respostas

pra que precisa do pincel.beginPath();? eu não entendi, testei sem colocar ele, e funcionou sem ele

Bom dia,

Realmente funcionou, mas é porque é um desenho simples.

Para manter um padrão usa-se o beginPath(), pois para outros desenhos pode ser que ele seja necessário. Comparo isso a explicação do professor sobre o uso do Ponto e Vírgula. O código pode até funcionar, mas quando for para algo mais complexo pode ser que tenha problemas, então é melhor você usar do que não usar, já por padrão.

Pesquisei no Google algumas explicações do uso do Path.

https://www.javascriptprogressivo.net/2019/01/Como-Desenhar-Linhas-Tutorial-Canvas.html

E aqui ele explica ainda melhor o uso "Path": https://developer.mozilla.org/pt-BR/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes

Como falei, para o exemplo do professor, o não uso não influenciou no resultado final, mas para um desenho mais complexo pode se fazer necessário.

Espeto ter ajudado. Sucesso na sua jornada!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software