// this is a slightly more involved example of how, in Processing,
// things on the canvas can be made to appear or animate
// at their own pace/rhythm
// - rob@rahji.com
int frame; // increases with every frame
void {
// this should all look familiar...
size(400,400);
frameRate(15);
background(100);
noStroke();
rectMode(CENTER);
}
void {
frame++;
background(100); // clear the screeen every frame
fill(0,100,0); // green
for {
// use a for loop to draw 10 pulsing squares
pulsingsquare(90,30*i,5); // arguments are x, y, size
}
fill(100,0,0); // red
if {
// only execute the lines below for
// the first 10 of every 40 frames ...
pulsingsquare(240,100,10); // arguments are x, y, size
}
}
// making a function is basically the same as the other functions
// we've declared so far... eg: mouseClicked(), draw(), etc
// this is a function that produces a square of varying
// sizes depending on the frame number that we're at.
void {
rect(x,y,
size * ((frame%size)+1), // rect width (found by tinkering)
size * ((frame%size)+1) // rect height (ditto)
);
}