topical media & game development
graphic-processing-learning-09-example-9-8-example-9-8.pde / pde
// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com
// Example 9-8: A snake following the mouse
// Declare two arrays with 50 elements.
int[] xpos = new int[50];
int[] ypos = new int[50];
void setup() {
size(200,200);
smooth();
// Initialize all elements of each array to zero.
for (int i = 0; i < xpos.length; i ++ ) {
xpos[i] = 0;
ypos[i] = 0;
}
}
void draw() {
background(255);
// Shift array values
for (int i = 0; i < xpos.length-1; i ++ ) {
// Shift all elements down one spot.
// xpos[0] = xpos[1], xpos[1] = xpos = [2], and so on. Stop at the second to last element.
xpos[i] = xpos[i+1];
ypos[i] = ypos[i+1];
}
// New location
xpos[xpos.length-1] = mouseX; // Update the last spot in the array with the mouse location.
ypos[ypos.length-1] = mouseY;
// Draw everything
for (int i = 0; i < xpos.length; i ++ ) {
// Draw an ellipse for each element in the arrays.
// Color and size are tied to the loop's counter: i.
noStroke();
fill(255-i*5);
ellipse(xpos[i],ypos[i],i,i);
}
}
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.