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

Error en Alert del ejercicio "Tiro al blanco"

Buen día,

Hice el ejercicio siguiendo los pasos del instructor, pero no me está arrojando la alertahe revisado muchas veces, pero sin encontrar el error, alquién me puede ayudar por favor a identificar en qué me estoy equivoando, Gracias!

<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;

    function disenharCircunferencia(x,y,radio,color){
        pincel.fillStyle = color;
        pincel.beginPath();
        pincel.arc(x,y,radio,0,2*3.14);
        pincel.fill();
    }

    function limpiarPantalla(){
        pincel.clearRect(0,0,600,400);
    }

    var x = 0;
    var xAleatorio;
    var    yAleatorio;


    function disenharObjetivo(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);
        disenharObjetivo(xAleatorio,yAleatorio);
        x++;

    }

    setInterval(actualizarPantalla,3000);

    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!

Buenas tardes Kely, me llevo un poco de trabajo pero logre encontrar el error.

 var x = evento.pageX - pantalla.offsetleft;

Cuando declaras el "offset" la palabra siguiente debe comenzar con mayúscula. Debe ser así:

 var x = evento.pageX - pantalla.offsetLeft;

Lo probé y funciona.

Espero haber sido de ayuda! Si te sirvió por favor coloca el tópico como resuelto, quizás le sirva a alguien mas que tenga la misma duda.

Saludos

Ups! toda la razón mil gracias por tu ayuda!!