import java.util.List; import java.util.ArrayList; List sprites = new ArrayList(); void setup() { frameRate(20); size(300,300); sprites.add( new Sprite(loadImage("tree1.png"), 10, 12, 0.3, 1)); sprites.add( new Sprite(loadImage("tree2.png"), 110, 12, 0.3, 1)); sprites.add( new Sprite(loadImage("tree2.png"), 230, 12, 0.3, 1)); sprites.add( new Sprite(loadImage("tree1.png"), 0, 10, 0.5, 2)); sprites.add( new Sprite(loadImage("tree2.png"), 100, 10, 0.5, 2)); sprites.add( new Sprite(loadImage("tree2.png"), 240, 10, 0.4, 2)); sprites.add( new Sprite(loadImage("flower1.png"), 50, 0, 0.5, 3 )); sprites.add( new Sprite(loadImage("flower2.png"), 90, 0, 0.5, 3 )); sprites.add( new Sprite( loadImage("grass.png"), 250, 0, 0.6, 3)); } void draw() { List newSpr = new ArrayList(); background(255); for( Iterator i = sprites.iterator(); i.hasNext(); ) { Sprite spr = (Sprite)i.next(); spr.draw(); spr.moveBy( -1 * spr.layer, 0); if ( spr.isVisible()) { newSpr.add( spr ); } else { spr = new Sprite( spr.img, 300, spr.y, spr.s, spr.layer ); newSpr.add( spr ); } } sprites = newSpr; }