Storing Input.
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); } }
Functions Used
draw()
Called directly after setup(), the draw() function continuously executes the lines of code contained inside its block until the program is stopped or noLoop() is called
Learn More
background()
The background() function sets the color used for the background of the Processing window
Learn More