1
respuesta

Ejercicio: Cambiando de color

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

<script>

    let color = ["blue","green","red"]
    let modificarColor = 0;

    let pantalla = document.querySelector("canvas");
    let pincel = pantalla.getContext("2d");    
    pincel.fillStyle = "grey";
    pincel.fillRect(0,0,600,400); 

    function dibujarCirculo(evento){
        let x = evento.pageX - pantalla.offsetLeft;
        let y = evento.pageY - pantalla.offsetTop;    
        pincel.fillStyle = color[modificarColor];
        pincel.beginPath();
        pincel.arc(x,y,10,0,2*3.14);
        pincel.fill();
        console.log(x + "," + y);        
    }

    pantalla.onclick = dibujarCirculo;

    function alterarColor() {
        modificarColor ++;
           if (modificarColor >= color.length) {
               modificarColor = 0;
           }
           alert("Funcionó " + color[modificarColor])
           return false;
    }

    pantalla.oncontextmenu = alterarColor;

</script> 
1 respuesta

¡Hola Roy!

Por lo que puedo ver en el código que compartiste, se trata de un ejercicio para cambiar el color de un círculo dibujado en un canvas al hacer clic con el botón derecho del mouse.

La función "alterarColor" es la encargada de cambiar el color del círculo. En ella, se aumenta el valor de "modificarColor" en 1 y se verifica si ha llegado al final del arreglo "color". Si es así, se reinicia a 0. Luego, se muestra un mensaje con el color actual.

Si lo que quieres es que el color del círculo cambie al hacer clic con el botón izquierdo del mouse, solo tienes que modificar la línea "pantalla.oncontextmenu = alterarColor;" por "pantalla.onclick = alterarColor;".

Espero que esto te sea de ayuda. Si tienes alguna otra pregunta, no dudes en hacerla.

¡Espero haber ayudado y buenos estudios!

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