Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

no me sale el alerta

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

<script>

    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");
    pincel.fillStyle = "lightgrey";
    pincel.fillRect(0,0,600,400);

    var radio = 10;
    var xAleatorio;
    var yAleatorio;

    function disenharCircunferencia(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)



    }

    var x = 0



    function dinenharObjetivo(x,y){

    disenharCircunferencia(x,y,radio + 20,"red");
    disenharCircunferencia(x,y,radio + 10,"white");
    disenharCircunferencia(x,y,radio,"red");

    }

    function sortearPosicion(maximo){

        return Math.floor(Math.random()*maximo);

    }

    function actualizarpantalla(){

        limpiarPantalla();
        xAleatorio = sortearPosicion(600);
        yAleatorio = sortearPosicion(400);
        dinenharObjetivo(xAleatorio,yAleatorio);    
        x++;
    }


    setInterval(actualizarpantalla,1000);

    function disparar(evento){

        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pagey - pantalla.offsetTop;

        if ((x < xAleatorio + radio) &&
            (x > xAleatorio - radio) &&
            (y < yAleatorio + radio) &&
            (y > yAleatorio - radio) ) {
            alert("Tiro Certero")
        }
    }

    pantalla.onclick = disparar;    

</script>
2 respuestas
solución!

Hola Ethan, ¿cómo estás?

Fíjate que pusiste el "y' minúsculo, en evento.pagey dentro de la function disparar(evento).

Para que te funcione el programa de la forma esperada, tienes que poner evento.pageY, con la "y" mayúscula. :)

¡Saludos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!

muchas gracias joven tenga buen día