O evento de click não está ocorrendo no meu código, mesmo seguindo o exemplo do professor
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'grey';
pincel.fillRect(0,0,600,400);
function desenhaCirculo(x, y, raio, cor) {
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc (x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaQuadro()
{
pincel.clearRect(0,0,600,400)
pincel.fillStyle = 'grey';
pincel.fillRect(0,0,600,400);
}
var x;
var y;
var raio = 10;
function atualizaTela()
{
limpaQuadro();
x = Math.round(Math.random() * 570);
y = Math.round(Math.random() * 370);
while(x < 30){
var x = Math.round(Math.random() * 570);
}
while(y < 30){
var y = Math.round(Math.random() * 370);
}
console.log('x:',x,'y:' , y);
desenhaCirculo(x,y,raio+20,'black');
desenhaCirculo(x,y,raio+10,'red');
desenhaCirculo(x,y,raio,'black');
}
setInterval(atualizaTela, 3000);
function dispara(evento) {
var x1 = evento.pageX - tela.offsetLeft;
var y1 = evento.pageY - tela.offsetTop;
if((x1 > x - raio) && (x1 < x + raio)
&& (y1 > y - raio) && (y1 < y + raio))
{
alert('Acertou!');
}
}
tela.onclick = dispara;
</script>
se algum puder ajudar a me explicar o porque não funciona