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

[Proyecto] Diseñando con mause.

Hola, aquí esta mi código, en lo particular para mi fue bastante complicado hacerlo andar, vi por el foro códigos muy profesionales y eso me reta a seguir aprendiendo, si ven algo que mejorar gracias ya que soy principiante en este aspecto

toma el siguiente código y haz un arreglo para la variable color que contenga los colores "red", "green" y "blue" y la funcion paletaColores use este arreglo para generar los cuadrados <canvas width="600" height="400"></canvas>

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

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

    var puedoDibujar = false;

    function dibujarCirculo(x,y) {

        if(puedoDibujar) {

            pincel.fillStyle = color;
            pincel.beginPath();
            pincel.arc(x, y, 3, 0, 2 * Math.PI);
            pincel.fill();
        }
    }

    function dibujarCuadrado (x,y,color1){

        pincel.fillStyle = color1;
        pincel.fillRect(x,y,50,50);
        pincel.strokeStyle = "black";
        pincel.strokeRect(x,y,50,50);
    }

    function paletaColores (){

        dibujarCuadrado (0,0,"red");
        dibujarCuadrado (50,0,"green");
        dibujarCuadrado (100,0,"blue");
    } 

    function habilitarDibujar() {

        puedoDibujar = true;
    }

    function deshabilitarDibujar() {

        puedoDibujar = false;
    }

    function negarArea (coordenadax,coordenaday){

        if ((coordenadax >= 0 && (coordenadax < 153) && 
            (coordenaday >=0 && coordenaday < 53))) {

            return false;

        } else{

            return true;

        }
    }

    function movimientoMause (evento) {

        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;
        console.log(x,y,(negarArea(x, y)),puedoDibujar,color);


        if ( negarArea(x,y)){

            dibujarCirculo(x,y);
        }  
    }


    function seleccionarColor (evento){

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

            if (negarArea(x,y)==false){

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

                        color = "red" 
                    }

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

                    color = "green"

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

                    color = "blue"

                } 
            }
    }


    pantalla.onmousemove = movimientoMause;
    pantalla.onmousedown = habilitarDibujar;
    pantalla.onmouseup = deshabilitarDibujar;
    pantalla.onclick = seleccionarColor;
    paletaColores();

</script> 
1 respuesta

Hola, felicidades por tu dedicación en el curso. No es necesario publicar los ejercicios resueltos en el foro, ya que esto no aporta mucho a tu formación académica. Por otro lado, el Discord es un espacio ideal para compartir con tus compañeros lo que estás estudiando y aprender de ellos. Recuerda que el foro es un lugar destinado a preguntas y dudas puntuales que pueda tener sobre algún tema o ejercicio específico. Recordamos que no es obligatorio responder a ningún ejercicio en el foro, ni suman puntos o son usados como criterio para el avance en el programa. Pedimos que siempre que sea posible, por favor etiquetes tu tópico para que sea más sencillo identificar si es una duda, sugerencia, etc. ¡Deseamos que puedas cumplir con todos tus objetivos y tener éxito en tus estudios, saludos!

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