This example is for Processing 3+. If you have a previous version, use the examples included with your software. If you see any errors or have suggestions, please let us know.
Sequential by James Paterson.
Displaying a sequence of images creates the illusion of motion. Twelve images are loaded and each is displayed individually in a loop.
int numFrames = 12; // The number of frames in the animation int currentFrame = 0; PImage[] images = new PImage[numFrames]; void setup() { size(640, 360); frameRate(24); images[0] = loadImage("PT_anim0000.gif"); images[1] = loadImage("PT_anim0001.gif"); images[2] = loadImage("PT_anim0002.gif"); images[3] = loadImage("PT_anim0003.gif"); images[4] = loadImage("PT_anim0004.gif"); images[5] = loadImage("PT_anim0005.gif"); images[6] = loadImage("PT_anim0006.gif"); images[7] = loadImage("PT_anim0007.gif"); images[8] = loadImage("PT_anim0008.gif"); images[9] = loadImage("PT_anim0009.gif"); images[10] = loadImage("PT_anim0010.gif"); images[11] = loadImage("PT_anim0011.gif"); // If you don't want to load each image separately // and you know how many frames you have, you // can create the filenames as the program runs. // The nf() command does number formatting, which will // ensure that the number is (in this case) 4 digits. //for (int i = 0; i < numFrames; i++) { // String imageName = "PT_anim" + nf(i, 4) + ".gif"; // images[i] = loadImage(imageName); //} } void draw() { background(0); currentFrame = (currentFrame+1) % numFrames; // Use % to cycle through frames int offset = 0; for (int x = -100; x < width; x += images[0].width) { image(images[(currentFrame+offset) % numFrames], x, -20); offset+=2; image(images[(currentFrame+offset) % numFrames], x, height/2); offset+=2; } }