class ColorSquare { float xpos, ypos, squareSize; float xspeed, yspeed; float noiseOffset; ColorSquare(float xpos_, float ypos_, float squareSize_) { xpos = xpos_; ypos = ypos_; xspeed = random(-2, 2); yspeed = random(-2, 2); noiseOffset = random(1000); squareSize = squareSize_; } void render() { noStroke(); rectMode(CENTER); float fillRed = noise(noiseOffset) * 256; float fillGreen = noise(noiseOffset + 100) * 256; float fillBlue = noise(noiseOffset - 100) * 256; fill(fillRed, fillGreen, fillBlue); rect(xpos, ypos, squareSize, squareSize); } void update() { xpos += xspeed; ypos += yspeed; if (xpos > width || xpos < 0) { xspeed *= -1; } if (ypos > height || ypos < 0) { yspeed *= -1; } noiseOffset += 0.02; } }