2
respuestas

diñear con el mouse

Este fue mi solucion, honestamente tuve que entrar a ver como el instructor delimito el area por que no conseguia lograr delimitar solo esa area sino toda la franja entre comprendida de x hasta 150 y y hastas 50 al mismo tiempo.

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

<script>
    var pantalla = document.querySelector('canvas');
    var pincel = pantalla.getContext('2d');

    function dibujarCuadrado (x,y,color){
        pincel.fillStyle = color;
        pincel.fillRect(x,y,50,50);

    }

    function dibujarPaleta () {

        dibujarCuadrado(0,0,color[0]);
        dibujarCuadrado(50,0,color[1]);
        dibujarCuadrado(100,0,color[2]);
    }

    pincel.fillStyle = 'grey';
    pincel.fillRect(0, 0, 600, 400);

    var puedoDibujar = false;

    var color = ["red","green","blue"]
    var variacion = 2

    function dibujarCirculo(x,y) {

        if(puedoDibujar) {

            pincel.fillStyle = color[variacion];
            pincel.beginPath();
            pincel.arc(x, y, 5, 0, 2 * 3.14);
            pincel.fill();

        }

    }

    function cambiarColor(evento) {

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

        if ((x > 0) &&
            (x < 50) &&
            (y > 0) &&
            (y < 50)) {

            variacion = 0
        }

        if ((x > 50) &&
            (x < 100) &&
            (y > 0) &&
            (y < 50)) {

            variacion = 1;
        }

        if ((x > 100) &&
            (x < 150) &&
            (y > 0) &&
            (y < 50)) {

            variacion = 2
        }


    }

    function puedeDisenharArea(xCoordenada,yCoordenada){

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

            return false;

        } else{

            return true;

        }

    }    

    function capturarMovimientoMouse(evento) {

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

        if (puedeDisenharArea(x,y)){

                dibujarCirculo(x,y);

        }

    }


    dibujarPaleta()

    pantalla.onclick = cambiarColor;

    pantalla.onmousemove = capturarMovimientoMouse;    

    //pantalla.onmousemove = dibujarCirculo;

    function habilitarDibujar() {

        puedoDibujar = true;
    }

    function deshabilitarDibujar() {

        puedoDibujar = false;
    }

    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;

</script>
2 respuestas

Hola , espero que esté bien.

Gracias por compartir tu código con nosotros, yo teste y está correcto contínua con tu estudos :)

Si tienes alguna pregunta sobre el contenido de los cursos, estaremos aquí para ayudarte.

Por favor, utilice etiquetas para indicarnos si su consulta es una duda, sugerencia o algún otro tema. De esta manera, podremos filtrar y procesar las consultas de manera más eficiente, mejorando nuestro desempeño en la respuesta a las mismas

también te recomiendo que puedes interactuar con el resto de nuestros compañero por nuestro Discord.

En virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros y el foro solo quedaría para esclarecer cualquier duda que puedas tener sobre el contenido de los cursos

De esa manera si tienes algún comentario, opinión, recomendación o algún consejo sea por el Discord, con certeza por ahí llegará a más personas

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

Ups mensaje duplicado