Examples+
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.
Highlighted Features
/**
* 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;
}
}
Related Examples
This example is for Processing 4+. 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.