<meta charset = "UTF-8">
<h1> Uma infensiva flor... </h1>
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 600, 400);
function desenhaCirculo(x, y, raio, cor) {
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2*3.14);
pincel.fill();
}
function desenhaFlor(x,y){
desenhaCirculo(x,y,10,'red');
desenhaCirculo(x + 20,y,10,'black');
desenhaCirculo(x - 20,y,10,'green');
desenhaCirculo(x,y - 20,10,'yellow');
desenhaCirculo(x,y + 20,10,'blue');
}
desenhaFlor(300,200);
/*Desenha uma flor com os mesmos padrões da anterior porém começará a partir da flor central que será definida através do clique.function florLocalizada*/
function florLocalizada(coordenada){
var x = coordenada.x;
var y = coordenada.y;
desenhaFlor(x,y);
}
tela.onclick = florLocalizada;
</script>
1. meu problema está nas linhas 34 e 35 do código: ao arrancar ao usar os recursos de offset para arrancar contagem das margens a função florLocalizada simplesmente deixa de ser executada ao clicar no canvas.
2. Se eu deixo esses recursos de offset eu consigo uma das coisas que eu quero: desenha esta flor após clicar na tela, mas obtenho um problema que ainda não consegui resolver: eu qeuria que círculo central tivesse o seu raio exatamente aonde cliquei o mouse, mas isso claramente não está ocorrendo conforme pode ser visto no GIF: