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

Como automatizar la paleta

Hola, preunto si alguno solucionó el cómo automatizar la paleta. lo hice este modo y siempre la última sobreescribe el resto:

function dibujarPaleta(x, y, color){
        pincel.fillStyle = color;
        pincel.fillRect(x, y, 50, 50)
    }

    function paleta(){
        var x = 0;
        while(x < 150){
            dibujarPaleta(x, 0, "red");
            dibujarPaleta(x, 0, "green");
            dibujarPaleta(x, 0, "blue");
            x = x + 50;
        }
    }

    paleta()

ResultadoSé que la más fácil es hacerla manual pero desde esa clase no he craneado como resolver el problema de la sobreescritura

1 respuesta

Hola Luis, el problema que tenes es que por cada iteracion de while estas dibujando 3 cuadrados(1rojo,1verde, y 1 azul) en la misma ubicacion. para poder automatizarlo, deberias crear un array con los colores, y en cada iteracion del while llamar una sola vez a la funcion dibujarPaleta(). y crear un contador de iteraciones, y el color se lo pasas marcando el indice del array de colores

colores=['red','green','blue']
function paleta(){
        var x = 0;
        var cont=0
        while(x < 150){
            dibujarPaleta(x, 0, colores[cont]);
            x = x + 50;
            cont=cont+1
        }
    }

Hay distintas maneras de operar como para usar una sola variable(en vez de usar X y CONT), pero creo que seria embrollarte demasiado