void setup() { size(400,400); frameRate(50); background(127); ellipseMode(CORNER); noSmooth(); text("Click to start makin' tiles!", 10, 10+textAscent()); } int frame = 0; int delay = 0; boolean started = false; boolean pausePrinted = true; void mouseReleased() { started = !started; pausePrinted = false; } void draw() { if (!started) { if (!pausePrinted) { fill(#ff0000); text("Paused", 10, 10+textAscent()*3); pausePrinted = true; } return; } if (delay > 0) { delay--; if (delay == 0) { String filename = "tile_" + int(random(0,1000)) + ".png"; println("Saving image: " + filename); saveFrame( filename ); frame = 0; background(127); } return; } //fill(127,5); //rect(0,0,width,height); for(int i=0;i<80;i++) { fill( boolean(int(random(2))) ? 0:255 , 50/((frame*0.02)+1)); //noFill(); noStroke(); //stroke(#ff0000); float size = random(0,200/((frame*0.003)+1)); float x = random(0,width); float y = random(0,height); myShape( x, y, size ); if (true) { x -= width; myShape( x, y, size ); x += width; } if (true) { y -= height; myShape( x, y, size ); if (true) { x -= width; myShape( x, y, size ); x += width; } y += height; } if (frame > 380) { delay = 100; } } frame++; } boolean useCircles = true; void keyReleased() { if (key == 'm') { useCircles = !useCircles; } } void myShape(float x, float y, float size) { if (useCircles) { ellipse(x,y,size,size); } else { rect(x,y,size,size); } }