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

[Duda] venia bien con la pizarra pero no entendi esta parte, alguien me lo podria explicar?

 function habilitarDibujar() {

        puedoDibujar = true;

    }

    function deshabilitarDibujar() {

        puedoDibujar = false;

    }

    //Función para delimitar el área
    function puedeDisenharArea(xCoordenada,yCoordenada){

        if ((xCoordenada >= 0 && xCoordenada < (3*tamanhoCuadrados+5)) && 
            (yCoordenada >=0 && yCoordenada < (tamanhoCuadrados+5))) {

            return false;

        } else{

            return true;

        }

    }    

    function capturarMovimientoDelMouse(evento){

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

        if (puedeDisenharArea(x,y)){

                dibujarCirculo(x,y,colorActual);

        }

    }

    function seleccionarColor(evento) {

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

        //Cada condición altera el color de la variable colorActual

        //Comenzamos por la condición del eje Y que es común para todas
        if (y > yCuadrados && y < (yCuadrados + tamanhoCuadrados)) {

            if(x > xRojo && x < (xRojo + tamanhoCuadrados)) {

                colorActual = "red";
                console.log(colorActual);

            } else if (x > xVerde && x < (xVerde + tamanhoCuadrados)) {

                colorActual = "green";

            } else if(x > xAzul && x < (xAzul + tamanhoCuadrados)) {

                colorActual = "blue";

            }            


        }


    }

    pantalla.onmousemove = capturarMovimientoDelMouse;

    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;

    dibujarPaletaColores();

    pantalla.onclick = seleccionarColor;
1 respuesta

Hola Marcos, espero que estés bien.

Gracias por compartir tu código con nosotros.

Este código es un ejemplo de cómo manejar eventos relacionados con el mouse en canvas.

La funciónhabilitarDibujar() cambia el valor de la variable puedoDibujar a true, lo que significa que se permite dibujar en el canvas. La función deshabilitarDibujar() cambia el valor de la variable puedoDibujar a false, lo que significa que se desactiva el dibujo en el canvas.

La función puedeDisenharArea(xCoordenada,yCoordenada) se utiliza para delimitar el área en la que se permite dibujar. Esta función toma dos argumentos, xCoordenada e yCoordenada, que representan la posición del mouse en el canvas, y devuelve true si el mouse está dentro de la zona permitida para dibujar, y false en caso contrario.

La función capturarMovimientoDelMouse(evento) se ejecuta cada vez que el mouse se mueve sobre el canvas. El evento se utiliza para determinar las coordenadas x e y de la posición del mouse. Se llama a la funciónpuedeDisenharArea() para verificar si el mouse está dentro de la zona permitida para dibujar. Si es así, se llama a la función dibujarCirculo() para dibujar un círculo en las coordenadas del mouse.

La función seleccionarColor(evento) se ejecuta cuando se hace clic en el canvas. El evento se utiliza para determinar sobre cual color las coordenadas x e y de la posición del mouse están posicionadas. Se utilizan varias condiciones para verificar si el mouse está dentro de una de las áreas de la paleta de colores y cambia el color actual según la condición.

Finalmente, se establecen los listeners(eventos de escucha) en el canvas para que estas funciones se ejecuten cuando se produzcan eventos de mouse, además se llama a la función dibujarPaletaColores() para dibujar los cuadrados de colores.

Si tienes alguna duda, no dejes de preguntar. ¡Estamos aquí para ayudarte!.

¡Saludos!

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