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

Juego solucion y duda

Esta es mi versión del paint. La verdad me gustó mucho el curso pero senti que fue bastante dificil resolver las cosas por mi cuenta a pesar de que me daba a una idea. En los primeros ejercicios hacia una parte solo y luego ya no podía. En este ultimo hice lo posible por hacerlo yo solo antes de mirar el código del instructor, pues llegué hast la parte realizar la paleta, bloquearla y cuando llegué a la parte de cambiar el color no funcionaba mi código, todo era porque tenía que definir una variabale por fuera de la función.

Mi pregunta esto es normal o mejora con el tiempo?

<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 puedoDibujar = false;
    var x = 0;
    var y = 0;
    var indiceColorActual = 0;
    colorActual = "black"; //aqui fallé porque debia definir una variable por fuera del código para que el color se cambiara en la función dibujar código al tocar la paleta


    function dibujarCirculo(evento) {

        if(puedoDibujar) {
            x = evento.pageX - pantalla.offsetLeft;
            y = evento.pageY - pantalla.offsetTop;
            if ((x > 155) && (y > 55)) {
                pincel.fillStyle = colorActual;
                pincel.beginPath();
                pincel.arc(x, y, 5, 0, 2 * 3.14);
                pincel.fill();
5
            }
            else if ((x <= 155) && (y > 55)) { 
                pincel.fillStyle = colorActual;
                pincel.beginPath();
                pincel.arc(x, y, 5, 0, 2 * 3.14);
                pincel.fill();

            }

            else if ((x > 155) && (y <= 55)) { 
                pincel.fillStyle = colorActual;
                pincel.beginPath();
                pincel.arc(x, y, 5, 0, 2 * 3.14);
                pincel.fill();

            }        


        }

    }        


    function habilitarDibujar() {

        puedoDibujar = true;
    }

    function deshabilitarDibujar() {

        puedoDibujar = false;
    }



    function dibujarPaleta(x, y, color) {

        pincel.fillStyle = color;
        pincel.fillRect(x, y, 50, 50);

    }

    dibujarPaleta(x,0,"red");
    dibujarPaleta(x + 50,0,"green");
    dibujarPaleta(x + 100, 0,"blue"); 


    function cambiarColor(evento) {

        var x = evento.pageX - pantalla.offsetLeft;
        var y = evento.pageY - pantalla.offsetTop;



            if ((x >= 0) && 
            (y >= 0) && 
            (x <= 50) &&
            (y <= 50)) {

                colorActual = "red";
                alert("ha seleccionado el color rojo");

        } 

             if ((x >= 50) && 
                (y >= 0) && 
                (x <= 100) &&
                (y <= 50)) {

                    colorActual = "green";
                    alert("ha seleccionado el color verde");

        } 
            if ((x >= 100) && 
                (y >= 0) && 
                (x <= 150) &&
                (y <= 50)) {

                    colorActual = "blue";
                    alert("ha seleccionado el color azul");

        }       


    } 

    pantalla.onmousemove = dibujarCirculo;
    pantalla.onmousedown = habilitarDibujar;
    pantalla.onmouseup = deshabilitarDibujar; 
    pantalla.onclick = cambiarColor;

</script>
2 respuestas
solución!

Hola Jorge, espero que estés muy bien.

Excelente tu duda, gracias por compartirla con nosotros =)

Por supuesto que sí, aún más si huber sido tu primer contacto con programación, son muchos nuevos conceptos para aprender, que quizás nunca habías visto. Es como cualquier cosa que estas aprendiendo por primera vez, como aprender un nuevo idioma.

Solo con la práctica se vuelve más fácil y natural. Sigue adelante!!! estudiando, practicando y entonces luego será un excelente desarollador.

Continúa con tus estudios y cualquier duda estaremos aquí.

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

Muchas gracias por la motivación y tienes razón, poco a poco iré mejorando <3