mirror of
https://github.com/processing/processing4.git
synced 2026-01-29 11:21:06 +01:00
36 lines
886 B
Plaintext
36 lines
886 B
Plaintext
/**
|
|
* Storing Input.
|
|
*
|
|
* Move the mouse across the screen to change the position
|
|
* of the circles. The positions of the mouse are recorded
|
|
* into an array and played back every frame. Between each
|
|
* frame, the newest value are added to the end of each array
|
|
* and the oldest value is deleted.
|
|
*/
|
|
|
|
int num = 60;
|
|
float mx[] = new float[num];
|
|
float my[] = new float[num];
|
|
|
|
void setup() {
|
|
size(640, 360);
|
|
noStroke();
|
|
fill(255, 153);
|
|
}
|
|
|
|
void draw() {
|
|
background(51);
|
|
|
|
// Cycle through the array, using a different entry on each frame.
|
|
// Using modulo (%) like this is faster than moving all the values over.
|
|
int which = frameCount % num;
|
|
mx[which] = mouseX;
|
|
my[which] = mouseY;
|
|
|
|
for (int i = 0; i < num; i++) {
|
|
// which+1 is the smallest (the oldest in the array)
|
|
int index = (which+1 + i) % num;
|
|
ellipse(mx[index], my[index], i, i);
|
|
}
|
|
}
|