La stessa animazione viene visualizzata 6 volte con sovrapposizioni e ridimensionamenti
final int numFrame = 12;
final int numAnima = 6;
PImage immagini[];
Animazione animazioni[];
void setup()
{
size(500, 500);
smooth();
frameRate(numFrame);
immagini=new PImage[numFrame];
for(int i=0; i < numFrame; i++)
immagini[i]=loadImage("a"+i+".gif");
int dim=immagini[0].width;
int x1=(width-2*dim)/3;
int y1=(height-2*dim)/3;
animazioni=new Animazione[numAnima];
for(int i=0; i < numAnima; i++)
animazioni[i]=new Animazione(80*i, 80*i, 2*i, dim-20*i);
}
void draw()
{
background(255);
for(int i=0; i < numAnima; i++)
{
animazioni[i].disegna();
animazioni[i].aggiorna();
}
}
class Animazione
{
int x, y, frame, dim;
Animazione(int nX, int nY, int nFrame, int nDim)
{
x=nX;
y=nY;
frame=nFrame;
dim=nDim;
}
void aggiorna()
{
frame=frame+1;
if(frame == numFrame)
frame=0;
}
void disegna()
{
image(immagini[frame], x, y, dim, dim);
}
}