Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] mi proyecto funciona, pero no se parece al del Profe, en caso alguna sugerencia lo agradecería :)

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

<script>
    var pantalla = document.querySelector('canvas');
    var pincel = pantalla.getContext('2d');
    var color = "blue";

    pincel.fillStyle = 'grey';
    pincel.fillRect(0, 0, 600, 400);
    //
    function dibujarCuadrado(x,y,color){ 
        var pantalla = document.querySelector("canvas");
        var pincel = pantalla.getContext("2d");
        pincel.fillStyle = color;
        pincel.fillRect(x,y,50,50);
        }

        dibujarCuadrado(0,0,"red")
        dibujarCuadrado(50,0,"green")
        dibujarCuadrado(100,0,"blue")

    var puedoDibujar = false;

    function dibujarCirculo(evento) {

        if(puedoDibujar) {
            var x = evento.pageX - pantalla.offsetLeft;
            var y = evento.pageY - pantalla.offsetTop;

            if(x < 155 && y < 55) return; //se se sumo el radio
            pincel.fillStyle =color;
            pincel.beginPath();
            pincel.arc(x, y, 5, 0, 2 * 3.14);
            pincel.fill();
        }

    }
    function cambiarColor(evento) {
            var x = evento.pageX - pantalla.offsetLeft;
            var y = evento.pageY - pantalla.offsetTop;

            if(x <= 50 && y < 50) {
                color = "red";

            }
            if(x >50 && x <= 100 && y < 50){
                color = "green";
            }
            if(x > 100 && x <= 150 && y < 50 ){
                color = "blue";
            }

    }
     pantalla.onclick = cambiarColor;

    pantalla.onmousemove = dibujarCirculo;

    function habilitarDibujar() {

        puedoDibujar = true;
    }

    function deshabilitarDibujar() {

        puedoDibujar = false;
    }

    pantalla.onmousedown = habilitarDibujar;

    pantalla.onmouseup = deshabilitarDibujar;

</script>
2 respuestas

Hola, compañero no entiendo a que te refieres con parecerse al Profe. Probé tu código y en efecto funciona, la estética es muy parecida a la plantilla que nos mostraron y en cuanto a la lógica que manejaste es muy parecido (en este caso solo recuerda que cada cabeza es un mundo y cada persona es un código). Solo me queda felicitarte porque lo has hecho bien :).

Hola, ¿Cómo estás?

Quisiera decirte que tu código me salvó muchísimo para el mío, no quería seguir las indicaciones del instructor porque el código de él no estaba tan optimizado y en la primera parte donde crea la función "puedeDisenharArea" - "capturarMovimientoDelMouse" me enredé muchísmo, me parecía supremamente largo, entonces no... sabía que esto debía tener una solución mucho más optima y pues qué bueno que me animé a ver la tuya porque estaba muy similar a la mía... desde la función PaletaDeColor, ahí mismo cree las instrucciones para dibujar los cuadrados y en fin... mucho más corto que crear cuadrado por cuadrado.

Gracias!! Un saludo.