Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

problema con el alert

No me sale el alert cuando presiono el círculo y en la consola no me aparece ningún error.

<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*Math.PI);
            pincel.fill();
        }
        var xAleatorio;
        var yAleatorio;

        function limpiarPantalla() {

            pincel.clearRect(0,0,600,400);
        }

        var x = 0;


        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, 1000);

        function disparar (evento) {

            var x = evento.pageX - pantalla.offsetLetf;
            var y = evento.pageY - pantalla.offsetTop;
            if ((x < xAleatorio + radio) &&
                (x > xAleatorio - radio) &&
                (y < yAleatorio + radio) &&
                (y > yAleatorio - radio)) {
                alert("Diste en el blanco");
            }

        }

        pantalla.onclick = disparar;





</script>
1 respuesta

Hola Brenda, espero que estés muy bien.

Lo que pasa es que hay un pequeño error de sintaxis en la function disparar(evento) en el HTMLElement.offsetLeft, escribiste var x = evento.pageX - pantalla.offsetLetf; pero la forma correcta seria var x = evento.pageX - pantalla.offsetLeft;, o sea, tienes solamente que cambiar las "tf" por "ft" en "Left".

Ese tipo de error es normal hasta mismo para desarrolladores ya experimentados, con la práctica van a pasar cada vez menos, ¡no te desanimes!

Si necesitas apoyo, aquí estaremos :)

¡Éxito!

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