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

no aparece la alerta

no me aparece la alerta en en navegador

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

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

    function ActualizarPantalla(){
        limpiarPantalla();
        xAleatorio=SortearPosision(600);
         yAleatorio=SortearPosision(400);
        dicenarObjeto(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>
1 respuesta

Hola Daiana, espero que estés bien.

Es posible que el problema esté en la función "disparar". En el código, se utiliza "evento.pagex" y "evento.pagey" para obtener las coordenadas del clic, pero la propiedad correcta es "evento.pageX" y "evento.pageY" con mayúsculas al final.

Para corregirlo, modifica las líneas dentro de la función "disparar" a:

var x = evento.pageX - pantalla.offsetLeft;
var y = evento.pageY - pantalla.offsetTop;

Si aún tienes dudas, aquí estaremos para apoyarte :)

¡Saludos!

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