Estoy tratando de cargar un esquema de color, de una selección de esquemas de color predefinidos, al azar cada vez que se carga la página. Con suerte, mi intento de codificarlo se explica por sí mismo, pero mi enfoque ha sido crear una matriz llamada 'colourSchemes', llenarla con 3 esquemas de color (con pares de valores clave que definen los 3 colores que componen el esquema) y luego almacenar el esquema de color seleccionado en una variable.
Luego intenté asignar un color del esquema seleccionado al estilo de relleno de un objeto. Desafortunadamente estoy dibujando un espacio en blanco (literalmente). Cualquier ayuda sería apreciada. Retazo:
//define colour schemes var colourSchemes = []; colourSchemes.colourScheme_1 = {colour_1 : "#84FFC9", colour_2 : "#AAB2FF", colour_3 : "#ECA0FF"}; colourSchemes.colourScheme_2 = {colour_1 : "#540D6E", colour_2 : "#EE4266", colour_3 : "#FFD23F"}; colourSchemes.colourScheme_3 = {colour_1 : "#FFBA49", colour_2 : "#20A39E", colour_3 : "#EF5B5B"}; //random colour scheme selected on load var active_colourScheme = colourSchemes[Math.floor(Math.random() * colourSchemes.length)]; //background colour ctx.fillStyle = active_colourScheme.colour_1; ctx.fillRect(0, 0, canvasW, canvasH);Así es como llenas una Array con valores. En su caso, puede simplemente poner los valores en la matriz durante la declaración de la matriz:
const colourScheme_1 = {colour_1 : "#84FFC9", colour_2 : "#AAB2FF", colour_3 : "#ECA0FF"}; const colourScheme_2 = {colour_1 : "#540D6E", colour_2 : "#EE4266", colour_3 : "#FFD23F"}; const colourScheme_3 = {colour_1 : "#FFBA49", colour_2 : "#20A39E", colour_3 : "#EF5B5B"}; const colourSchemes = [colourScheme_1, colourScheme_2, colourScheme_3]; //random colour scheme selected on load const active_colourScheme = colourSchemes[Math.floor(Math.random() * colourSchemes.length)]; console.log(active_colourScheme); .as-console-wrapper { max-height: 100% !important; top: 0; } O, alternativamente push() los valores en la matriz. Esto funciona si desea agregar valores a la matriz más adelante después de su declaración.
const colourSchemes = []; const colourScheme_1 = {colour_1 : "#84FFC9", colour_2 : "#AAB2FF", colour_3 : "#ECA0FF"}; const colourScheme_2 = {colour_1 : "#540D6E", colour_2 : "#EE4266", colour_3 : "#FFD23F"}; const colourScheme_3 = {colour_1 : "#FFBA49", colour_2 : "#20A39E", colour_3 : "#EF5B5B"}; colourSchemes.push(colourScheme_1, colourScheme_2, colourScheme_3) //random colour scheme selected on load const active_colourScheme = colourSchemes[Math.floor(Math.random() * colourSchemes.length)]; console.log(active_colourScheme); .as-console-wrapper { max-height: 100% !important; top: 0; }Le recomendaría que lea el artículo sobre
Arrayque he vinculado aquí (y arriba), para que vea cómo puede usar matrices correctamente en JavaScript.