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

[Duda] seleccionarColorPaleta

cuando hice el problema por mi cuenta, creí que toda la condición del cambiado de color de paleta debía estar dentro de la función, dibujar circulo. con ayuda de la respuesta vi que hizo una función a aparte para seleccionar el color de la paleta, mi duda es, la función "seleccionarColorPaleta" solo tiene como parametro a "evento", ¿Porqué la función seleccionarColorPaleta saca como resultado el colorActual? si en ningún momento le dice que de un return colorActual = "red" por ejemplos. ¿Cómo cambia el color en cada click la función seleccionarColorPaleta si solamente ejecuta un código que dice que dice colorActual va ser rojo, verde o azul mas no usa la herramienta "return"? creí que cada vez que queremos que una función nos saque como resultado algo es necesario su "return" pero en esa seleccionarColorPaleta no es así, y aún así considera el JS cambiarle de color.


    function seleccionarColor(evento) {

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

        //Cada condición altera el color de la variable colorActual

        //Comenzamos por la condición del eje Y que es común para todas
        if (y > yCuadrados && y < (yCuadrados + tamanhoCuadrados)) {

            if(x > xRojo && x < (xRojo + tamanhoCuadrados)) {

                colorActual = "red";
                console.log(colorActual);

            } else if (x > xVerde && x < (xVerde + tamanhoCuadrados)) {

                colorActual = "green";

            } else if(x > xAzul && x < (xAzul + tamanhoCuadrados)) {

                colorActual = "blue";

            }            


        }


    }
2 respuestas

Hola Angel, espero que estés bien

La variable colorActual fue definida junto con las otras variables de la paleta.

 //Variables para dibujar la paleta
    var xRojo = 0;
    var xVerde  = 50;
    var xAzul = 100;
    var yCuadrados = 0;
    var tamanhoCuadrados = 50;
    var colorActual = "blue";

Lo que esta función hace es cambiar esta variable dependiendo sobre que color haces el clic. Y el resultado es cambiar el color que estás dibujando con el mouse.

function dibujarCirculo(x,y,colorActual ) {

        if(puedoDibujar) {

            pincel.fillStyle = colorActual;
            pincel.beginPath();
            pincel.arc(x, y, 5, 0, 2 * 3.14);
            pincel.fill();

        }
    }

Si tienes alguna duda, no dejes de preguntar. ¡Estamos aquí para ayudarte!.

¡Saludos!

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

Hola, pero no se selecciona el color, sigue siendo "blue" siempre