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

no me genera el alerta

Buen día, hoy estaba haciendo los ejercicios con el tutor christian a la par cuando veía el vídeo, pero al finalizar la actividad hace todo el proceso bien pero no me genera el alert cuando le doy clic al objetivo, me podrían ayudar dejo el código que realice paso a paso con el vídeo

<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 disenaharObjetivo(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);
        disenaharObjetivo(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> 
6 respuestas

Hola, fíjate cambiado dentro de la función diparar var x = evento.pageX - pantalla.offsetleft por var x = evento.pageX - pantalla.offsetLeft osea la primera letra de left en mayúscula. Saludos

muchas gracias, ya la vista no me da para mas

Hola! . Es una bena práctica usar la consola de programador (pulsar F12) ya que ahi te aparecen los errores de sintaxis como fue en tu caso. Saludos.

Muchas gracias por la acotacion Voy a chequiar

Gracias Leandro. Uno a veces olvida utilizar la consola jejejej Me solucionaste un problema parecido

Gracias por el dato. Pulsar F12 para siempre que haya un error poner revisar en la consola.