// Option: boolean useRandomColors = false; // Die Objekte in einem Array ColoredImage cimages[] = new ColoredImage[6]; void setup() { size(600, 100); noStroke(); // Alle Objekte werden erzeugt und im Array gespeichert. for (int i = 0; i < cimages.length; i++) { PImage img = loadImage("bug" + int(random(1,4)) + ".png"); cimages[i] = new ColoredImage(img, i * 100, 0); } } void draw() { background(255); // Alle Objekte werden gezeichnet. for (int i = 0; i < cimages.length; i++) { cimages[i].drawImage(); } } void mousePressed() { // Abhängig von der boolean-Variable 'useRandomColors' // werden die Farben entweder zufällig neu gesetzt // oder nur changiert, wenn die Maustaste gedrückt wird. if (useRandomColors) { for (int i = 0; i < cimages.length; i++) { cimages[i].changeColors(); } } else { for (int i = 0; i < cimages.length; i++) { cimages[i].varyColors(); } } } // Klasse ColoredImage class ColoredImage { // Position float x; float y; // Das anzuzeigende Bild PImage img; // Hintergrund- und Bildfarbe color bgColor; color imgColor; // Konstruktor ColoredImage(PImage pimg, float px, float py) { x = px; y = py; img = pimg; // Zufällige Farbwahl bgColor = color(random(255), random(255), random(255)); imgColor = color(random(255), random(255), random(255)); } void drawImage() { fill(bgColor); rect(x, y, 100, 100); noFill(); tint(imgColor); image(img, x, y, 100, 100); } // Beide Farben werden zufällig neu gesetzt. void changeColors() { bgColor = color(random(255), random(255), random(255)); imgColor = color(random(255), random(255), random(255)); } // Beide Farben werden variiert. void varyColors() { bgColor = varyColor(bgColor); imgColor = varyColor(imgColor); } // Die Farbe (Parameter) wird variiert. color varyColor(color col) { float r = red(col) + random(-10, 10); r = constrain(r, 0, 255); float g = green(col) + random(-10, 10); g = constrain(g, 0, 255); float b = blue(col) + random(-10, 10); b = constrain(b, 0, 255); return color(r, g, b); } } // Screenshot speichern void keyPressed() { if (key == 's') { saveFrame("bugs-####.png"); } }