Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
5
respuestas

No me sale el alert!

HIce el ejercicio en al mismo tiempo que veia el video, ya repase un monton de veces el codigo pero no encuentro la falla. En las herramientas para desarolladores no me tira ningun error... podrian ayudarme?

5 respuestas

Hola Ivana para ayudarte mejor deberías de compartir tu código o tomar una captura de el para así ver en donde esta fallando.

Saludos!

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


<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");
    pincel.fillStyle = "lightgrey" //propiedad
    pincel.fillRect(0,0,600,400); //funcion
    var xAleatorio;
    var yAleatorio;

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

    }


    function limpiarPantalla(){

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

    }


    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(){
        var x = 0
        var sentido = 1

        limpiarPantalla();
        xAleatorio = sortearPosicion(600);
        yAleatorio = sortearPosicion(400);

        disenharObjetivo(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>
solución!

Corrige acá:

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)    // debe ir (y > yAleatorio - radio)
            ) {

            alert("tiro certero");
        }

    }

Esta también para que permanezca la pantalla gris.

 function limpiarPantalla() {

    pincel.clearRect(0, 0, 600, 400);
    pincel.fillStyle = "lightgrey" //propiedad
    pincel.fillRect(0, 0, 600, 400); //funcion

  }

Si esto responde tu duda, marca Solución

muchas gracias!!!!! =)

gracias ahora me funciona.