let stageW = 900;
let stageH = 900;
let numAssets = 5;
let paramsClrs = [];
let paramsClrsProbability;
let paramsClrsMax = [100, 1000, 4000];
let clrs = [
['#ffffff', '#af939f', '#5b274b', '#066505', '#b5e655'],
['#ffffff', '#8f7788', '#5b274b', '#412049', '#245e79'],
['#af939f', '#8f7788', '#5b274b', '#e7070e', '#ff530d']
];
function buildColors(_i, _whichClr, _paramsClrsProbability) {
let whichClr = clrs[_whichClr];
let whichClrLen = whichClr.length;
let clrCnt = -1;
let clrMaxPerLerp = floor( _paramsClrsProbability / whichClrLen );
for (let j = 0; j < _paramsClrsProbability; ++j) {
if( j%clrMaxPerLerp==0 ) {
clrCnt = (clrCnt+1)%whichClrLen;
}
let c1 = color( whichClr[clrCnt] );
let c2 = color( whichClr[(clrCnt+1)%whichClrLen] );
paramsClrs[_i].push( lerpColor( c1, c2, map(j, (clrCnt*clrMaxPerLerp), (((clrCnt+1))*clrMaxPerLerp), 0.0, 1.0) ) );
}
}
function preload() {
for (let i = 0; i < numAssets; ++i) {
paramsClrs[i] = [];
let _tempProb = random(1);
if (_tempProb < 0.60) paramsClrsProbability = paramsClrsMax[2]; // get 4000 colors / 60% of the time
else if (_tempProb < 0.80) paramsClrsProbability = paramsClrsMax[1]; // get 1000 colors / 20% of the time
else paramsClrsProbability = paramsClrsMax[0]; // get 100 colors / 20% of the time
buildColors(i, int(random(clrs.length)), paramsClrsProbability);
}
}
function setup() {
myCanvas = createCanvas(stageW, stageH);
print (paramsClrs);
}
function draw() {
}
Comments