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

[Proyecto] Proyecto. Diseñando con el mouse.

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

<script>
    //programa con el que puedes pintar con un trazo continuo y tiene posibilidad de cambiar a 3 colores el pincel.
    var pantalla = document.querySelector('canvas');
    var pincel = pantalla.getContext('2d');

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

    var puedoDibujar = false;
    var color;
    var pos_x;
    pincel.fillStyle = "blue"//color por default

    function cuadrados (color,pos_x){
        pincel.fillStyle = color;
        pincel.fillRect(pos_x,0,50,50);

    }

    var colores = ["red", "green","blue"];

    //PALETA DE COLORES
    cuadrados(colores[0],0);
    cuadrados(colores[1],50);
    cuadrados(colores[2],100);
    
    function cambiar_color(evento){ //cuando haces clic en el area de del cuadrado cambias el color del pincel
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;
         
         if (( 0 < x) &&   
             (x < 50) &&
             (0 < y)  &&
             (y < 50) ) {
            pincel.fillStyle = colores[0];
        }

          if (( 50 < x) &&  
             (x < 100) &&
             (0 < y)  &&
             (y < 50) ){
            pincel.fillStyle = colores[1];
         }

         if (( 100 < x) &&  
             (x < 150) &&
             (0 < y)  &&
             (y < 50) ) {
            pincel.fillStyle = colores[2];
         }
       
   }

    function dibujarCirculo(evento) {

        if(puedoDibujar) {

            var x = evento.pageX - pantalla.offsetLeft;
            var y = evento.pageY - pantalla.offsetTop;
            
            if ((x > 600) ||  (y > 53 )){   //se habilita solo si estamos fuera del espacio de la paleta
            pincel.beginPath();
            pincel.arc(x, y, 5, 0, 2 * 3.14);
            pincel.fill();
             }
        }

    }

   pantalla.onmousemove = dibujarCirculo;
   
     function habilitarDibujar() {
  
        console.log(puedoDibujar = true);
    }

     function deshabilitarDibujar() {

        console.log(puedoDibujar = false);
    }

    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;

    pantalla.onclick = cambiar_color;
    
    ```
    
1 respuesta

Hola Ana, felicidades por tu dedicación en el curso.

Te agradezco que hayas compartido lo que estás estudiando en el foro, felicidades por tu proyecto.

No obstante, no es obligatorio que pongas la solución a tu ejercicio aquí. Puedes hacerlo en Discord, donde hay un espacio dedicado para eso. El foro es sobre todo para exponer tus dudas y colaborar con otros compañeros.

Incentivamos que sigas practicando lo que estás aprendiendo, en caso de que tengas cualquier duda no dejes de preguntarnos.

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!