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)
3
respuestas

hice el codigo aparentemente igual al del instructor pero no me funciona, ¿Alguien sabe en que estoy fallando?

<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;

    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;
    }
     return false;
}

    pantalla.oncontextmenu = alterarColor;

</script>
3 respuestas

Si , pille un error en tu código .

 var pantalla = document.querySelector("canvas");
    var pincel = pantalla.getContext("2d");
    pincel.fillStyle = "grey";
    pincel.fillrect(0,0,600,400);))// se escribe pincel.fillRect
<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); //pincel.fillRect(0, 0, 600, 400);
    var colores = ["blue", "red", "green"];
    var indiceColorActual = 0;

    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;
    }
     return false;
}

    pantalla.oncontextmenu = alterarColor;

</script>

Aquí hubo una confusion, debería ser pincel.fillRect(); "rect" esta escrito con minuscula, después de modificar esa línea ya debería de funcionar

solución!

Hola, lo estoy revisando, en principio pincel.fillrect(0,0,600,400); está mal porque la función es pincel.fillRect() con mayúscula en la mitad.

Sigo viendo y te digo, qué encuentro