Buenos dias, estoy teniendo problemas con el codigo, por alguna razon, no logro hacer que funcione, coloque un console.log en objetivo y en disparar, y hay veces que no corresponden uno con el otro (siempre haciendo click casi en el centro).
<body>
<canvas width="600" height="400"> </canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d"); //Dos dimensiones
var colores = ["green", "blue", "yellow"];
var i = 0
var radio = 5;
var color = "green"
bordeIzX = false;
var xAleatorio;
var yAleatorio;
pincel.fillStyle = "grey";
pincel.fillRect(0, 0, 600, 400);
function dibujarCirc(x, y, radio, color){
pincel.fillStyle = color;
pincel.beginPath();
pincel.arc(x, y, radio, 0, 2*Math.PI);
pincel.fill();
}
function limpiarPantalla(){
pincel.clearRect(0, 0, 600, 400);
}
function actualizarPantalla(){
limpiarPantalla();
xAleatorio = 600 - sortear(600);
yAleatorio = 400 - sortear(400);
objetivo(xAleatorio, yAleatorio);
}
function objetivo(x, y){
dibujarCirc(x, y, radio + 10, "blue");
dibujarCirc(x, y, radio + 5, "white");
dibujarCirc(x, y, radio , "red");
console.log("circulo: " + x + "," + y );
}
function sortear(maximo){
return Math.floor(Math.random() * maximo);
}
setInterval(actualizarPantalla, 2500);
function disparar(event){
var x = event.pageX - pantalla.offsetLeft;
var y = event.pageX - pantalla.offsetTop;
console.log("punto: " + x + "," + y );
if((x < xAleatorio + radio) && (x > xAleatorio - radio) && (y < yAleatorio + radio) && (y > yAleatorio - radio)){
alert("tiro certero");
}
}
pantalla.onclick = disparar;
</script>
</body>