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

Dúvida no Ex. 1 da Aula 5 - Desafio Final

Esse exercício fritou, hein! rs... Meu círculo ficou preto. Não entendi!!!

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

<script>

var raio = 10;
var alvoX;
var alvoY;

var tela = document.getElementById("tela");
var c = tela.getContext("2d");

var desenhaAlvo = function(x, y) {

    circulo(x, y, raio+30, "white");
    circulo(x, y, raio+20,"red");
    circulo(x, y, raio+10, "white");
    circulo(x, y, raio, "red");
};

var circulo = function(x, y, raio, cor) {
    c.fillStyle = "cor";
    c.beginPath();
    c.arc(x, y, raio, 0, 2*Math.PI);
    c.fill();

};

var limpa = function() {
    c.clearRect(0, 0, 600, 400);
}
;

var sorteia = function(max) {
    return Math.floor(Math.random() * max);
}
;

var desenha = function() {
    limpa();
    alvoX = sorteia(600);
    alvoY = sorteia(400);
    desenhaAlvo(alvoX, alvoY);
};


tela.onclick = function(evento) {
    var x = evento.pageX - tela.offsetLeft;
    var y = evento.pageY - tela.offsetTop;

    if((x > alvoX - raio) && (x < alvoX + raio) &&
    (y > alvoY - raio) && (y < alvoY + raio)) {
        alert("Acertou!!!");
    }
}
;

setInterval(desenha, 3000);


</script>
3 respostas
solução!

Olá Cássio! O problema do seu código está no seguinte trecho:

c.fillStyle = "cor";

Perceba que cor em sua função circulo() é uma variável:

var circulo = function(x, y, raio, cor) {
    // RESTANTE DO CODIGO
};

Então o correto seria:

c.fillStyle = cor;

Espero ter ajudado! Bons Estudos!

Fantástico, Romário!!!

Fechou!

Agora foi!

Vamo que Vamo!

Que bom Cássio! Bons Estudos! Qualquer coisa só perguntar que te ajudarei.