1
respuesta

Diseñando con el Mouse, solución en menos de 100 lineas

<canvas width="600" height="400"></canvas>
<script language=JavaScript>
<!--

function inhabilitar(){
    //alert ("Esta función está inhabilitada.\n\nPerdonen las molestias.")
    return false
}

document.oncontextmenu=inhabilitar;

// -->

    var colorete= "blue";
    var y =0;
    var pantalla = document.querySelector('canvas');
    var pincel = pantalla.getContext('2d');

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

    var puedoDibujar = false;

    function dibujarCirculo(evento) {




        if(puedoDibujar) {
            var x = evento.pageX - pantalla.offsetLeft;
            var y = evento.pageY - pantalla.offsetTop;
            if (y<=53.5  && x<=153.5) {

                pincel.globalAlpha = 0.0;

                }    
             else{ 
                pincel.globalAlpha = 1;}   

            pincel.fillStyle = colorete;
            pincel.beginPath();
            pincel.arc(x, y, 7, 0, 2 * Math.PI);
            pincel.fill();

        }
         return false;

    }
     pantalla.onclick=verificaColor;
    pantalla.onmousemove = dibujarCirculo;

    function habilitarDibujar() {

        puedoDibujar = true;

    }

    function deshabilitarDibujar() {

        puedoDibujar = false;

    }

    function verificaColor(evento){
        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;
        if(x<=153.5 && y<=53.5){
            colorete="green";
            if(x<=100){
                colorete="red";
                if(x<=50){
                    colorete="blue";

                }

            }

        }


    }



//dibujo la paleta de 3 colores
    pincel.fillStyle = 'blue';
    pincel.fillRect(0,y,50,50);
    pincel.fillStyle = 'red';
    pincel.fillRect(50,y,50,50);
    pincel.fillStyle = ' green';
    pincel.fillRect(100,y,50,50);



    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;

</script>

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola John, espero que estés bien! ¡Muchas gracias por su contribución! ¡Para cualquier duda, estoy disponible! Nos alegra mucho tu entusiamo, te deseamos exito en esta nueva aventura, que puedas sacar el maximo provecho! En caso de que desees compartir tus ejercicios o comentarios, dispusimos en Discord un canal exclusivo para ese fin. Te dejo este https://www.youtube.com/watch?v=ZhXdFO6SxQ4&ab_channel=AluraLatam que muestra donde puedes compartir tus actividades y si necesitas ayuda acerca del contenido de los cursos, aquí estaremos. :) ¡Vamos juntos! ¡No desanimes! :)

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