Re-adding Topics to SVN

This commit is contained in:
Casey Reas
2011-09-05 23:58:47 +00:00
parent 4fc6dcca86
commit 391c79c2b6
219 changed files with 31093 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
/**
* ArrayList of objects
* by Daniel Shiffman.
*
* This example demonstrates how to use a Java ArrayList to store
* a variable number of objects. Items can be added and removed
* from the ArrayList.
*
* Click the mouse to add bouncing balls.
*/
ArrayList balls;
int ballWidth = 48;
void setup() {
size(640, 360);
smooth();
noStroke();
// Create an empty ArrayList
balls = new ArrayList();
// Start by adding one element
balls.add(new Ball(width/2, 0, ballWidth));
}
void draw() {
background(255);
// With an array, we say balls.length, with an ArrayList, we say balls.size()
// The length of an ArrayList is dynamic
// Notice how we are looping through the ArrayList backwards
// This is because we are deleting elements from the list
for (int i = balls.size()-1; i >= 0; i--) {
// An ArrayList doesn't know what it is storing so we have to cast the object coming out
Ball ball = (Ball) balls.get(i);
ball.move();
ball.display();
if (ball.finished()) {
// Items can be deleted with remove()
balls.remove(i);
}
}
}
void mousePressed() {
// A new ball object is added to the ArrayList (by default to the end)
balls.add(new Ball(mouseX, mouseY, ballWidth));
}