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); } }