Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] AYUDA - NO ME SALE "ACERTASTE", no encuento el 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;
        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 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,2000);

        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("Acertaste");

            }

        }

        pantalla.onclik = disparar;

</script>
2 respuestas

El contador

El error en este código es que se está utilizando la propiedad onclik en lugar de onclick para agregar el evento de click al canvas. La propiedad correcta es onclick. Por lo tanto, la última línea del código debería ser:

pantalla.onclick = disparar; (corrección sugerida)

en lugar de

pantalla.onclik = disparar; (error detectado en tu código)

Con este cambio, el código debería funcionar correctamente y mostrar la alerta "Acertaste".

Espero haberte ayudado.