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)
7
respuestas

Buenas . No logro encontrar el error . Lo hice tal como lo explica christian pero no logro que aparezca el alerta

7 respuestas

si no pegas el codigo dificil

Buenas. Aquí dejo el código.

<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  dibujarCirculo(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 dibujarObjetivo(x,y){
        dibujarCirculo(x,y,radio+20,"red");
        dibujarCirculo(x,y,radio+10,"white");
        dibujarCirculo(x,y,radio,"red");

    }
    function sortearPosicion(maximo){
        return Math.floor(Math.random()*maximo);
    }


    function actualizarPantalla(){
        limpiarPantalla();
        var xAleatorio=sortearPosicion(600);
        var yAleatorio=sortearPosicion(400);

        dibujarObjetivo(xAleatorio,yAleatorio);
}

setInterval(actualizarPantalla,4000);

    function disparar(evento){
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;
        console.log(x+","+y);

        if ((x<xAleatorio+radio)&&
            (x>xAleatorio-radio)&&
            (y<yAleatorio+radio)&&
            (y>yAleatorio-radio)) {
            alert("Tiro certero");
        }
    }
    pantalla.onclick=disparar;


</script>

sigo sin encontrar el error. Por qué no logro que se dispare el alert?

solución!

Hola Emanuel. No te sale el alert porque en la función actualizarPantalla, colocaste var a xAleatorio e yAleatorio. En este caso más arriba ya creaste esas variables. Si le borras esos var, te va a aparecer el alert.

Gracias . Gabriela.