Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

For não sai da posição 0

Pessoal, boa tarde.. Estou fazendo o exercício utilizando um for para que sejam preenchidos automaticamente os retângulos, porém o meu contador não sai do 0.

<canvas width='600' height='400'></canvas>
<script>
var aSerie2015 = [50, 25, 20, 5];
var aSerie2016 = [65, 20, 13, 2];
var acores     = ['purple','yellow','green','red'];
var x = 50;
var y = 50;

function desenhaRetangulo(x,y,cor,altura){

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

    pincel.fillStyle = cor;
    pincel.fillRect(x,y,60,altura);
    pincel.strokeStyle = black;
    pincel.strokeRect(x,y,60,altura);

    }
function desenhatexto(texto,x,y){

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

    pincel.font = '20px Georgia';
    pincel.fillStyle = 'black';
    pincel.fillText(texto,x,y);
}

for(nposicao = 0 ; nposicao < aSerie2015.length; nposicao++){


    desenhaRetangulo(x,y,acores[nposicao],aSerie2015[nposicao]);    
    y+=aSerie2015[nposicao];
}

</script>
3 respostas
solução!

Oi Rafael, tudo bem?

Veja que na sua função desenhaRetangulo, o nome da cor preta (black) não está entre aspas, pode ser isso que esteja causando o problema.

Boa tarde, Rafael! Como vai?

Nesses casos é uma boa prática dar uma olhada no console do desenvolvedor do navegador para ver se tem algum erro sendo apresentado lá! Eu peguei o seu código, abri no navegador e fui dar uma olhada no console que informou que na linha 25 do seu código black não estava definido. Daí olhando a linha 25, podemos ver que ela está assim:

pincel.strokeStyle = black;

Quando o correto é:

pincel.strokeStyle = 'black';

Fazendo isso o seu código funcionará como esperado!

Grande abraço e bons estudos!

Gabriel e Yuri, era exatamente isso! Muito obrigado pela ajuda!