Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Proyecto] [Proyecto] Cambiando de colores

Me costo un poco realizar el ejercicio, pero este es el resultado

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

<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");    
    pincel.fillStyle = "lightgrey";
    pincel.fillRect(0,0,600,400); 

    var colores = ["blue", "red", "green", "pink", "yellow"];
    var indiceColor = 0; 

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

    pantalla.onclick = dibujarCirculo;

    function alterarColor() {
        indiceColor++;
        if(indiceColor >= colores.length){
            indiceColor = 0;
        }

        alert("Funcionó");
        return false;
}

    pantalla.oncontextmenu = alterarColor;

</script> 
2 respuestas
solución!

Parece confeti >0<

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

Hola,

Me gusto mucho tu interpretación del codigo, le agregue un mensaje un poco más interactivo con el usuario, espero que te guste.

Saludos,

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

<script>
    var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");    
    pincel.fillStyle = "lightgrey";
    pincel.fillRect(0,0,600,400); 

    var colores = ["blue", "red", "green", "pink", "yellow"];
    var indiceColor = 0; 

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

    pantalla.onclick = dibujarCirculo;

    function alterarColor() {
        indiceColor++;
        if(indiceColor >= colores.length){
            indiceColor = 0;
        }

        alert(`El nuevo color es ${colores[indiceColor]}`);
        return false;
}

    pantalla.oncontextmenu = alterarColor;

</script>