1
respuesta

Cambiando de Colores.

Aún me apoyo bastante en la ayuda que proporciona el instructor trato en la medida de lo posible analizarla y encontrarle la lógica, sobre lo que se pide. Además, trato de conservar datos que interesan tener presentes.


<h1>Cambiando de color</h1>



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


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

<script>

    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");    
    pincel.fillStyle = "grey";
    pincel.fillRect(0,0,600,400); 
    var colores = ["blue", "red", "green"];
    var indiceColorActual = 0; // comienza con blue

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

    pantalla.onclick = dibujarCirculo;

    function alterarColor() {
        indiceColorActual++;
            if(indiceColorActual>= colores.length){
                indiceColorActual = 0 //Vuelve al primer color.
       }
       return false; //menú contextual padrón de `canvas` no sea exhibido
    }


/*La instrucción return false es importante para que el menú contextual padrón de canvas no sea exhibido, o sea, queremos apenas alterar el color con el clic del botón y no exhibir un menú para el usuario.
El valor máximo de índice Color Actual no puede pasar de 2, pues es el último índice para acceder al último elemento del array. Entonces, necesitamos comprobar con un if cada vez que alterarColor sea llamada y verificar si el indiceColorActual es mayor o igual a colores.length

*/

    pantalla.oncontextmenu = alterarColor;

</script>
1 respuesta

Hola Yeimer, espero que esté bien.

Gracias por compartir tu código con nosotros.

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

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