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

ejercicio cambio de color

<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 cambio = ["blue","red","green"];
    var indice = 0;

    function dibujarCirculo(evento){

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

    pantalla.onclick = dibujarCirculo;

    function alterarColor() {

        indice++;
        if(indice>= cambio.length) {
             indice = 0; //cambia de nuevo al color inicial
        }
        return false;
    }

    pantalla.oncontextmenu = alterarColor;

</script> 
1 respuesta

Excelente usar la propiedad length del array lo hace mas dinámico cuando se agregan o reducen colores ... buenisimo felicidades

yo lo deja asi, no habia considerado esa posibilidad

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dibuja Circulos cuando el usuiario hace clic</title>
</head>
<body>
    <h1>Dibuja Circulos cuando el usuiario hace clic</h1>
    <canvas width="600" height="400"> </canvas>

    <script>
        var color = 0;
        var colores = ["blue",  "red", "green"];

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

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

        function CambioColor() {
            if (color == 2)
            {
                color = 0;
            }
            else  
            {
                color++;
            }
            pincel.fillStyle = colores[color];           
            return false;
        }

        pantalla.oncontextmenu = CambioColor;

        pantalla.onclick = dibujarCirculo;

    </script> 

</body>
</html>