Stop Trick Animation in Processing

Hinzugefügt am von Stephan Thiel
Vier unterschiedliche Motive einer Szene in der Bart Skateboard fährt werden mit einer Geschwindigkeit von sechs Bildern pro Sekunde angezeigt. Jedes Bild wird im setup() in eine der vier Bildvariablen geladen, eine weitere globale Variable namens "frame" speichert welches Bild angezeigt werden soll. Am Ende eines jeden draw() -Durchlaufs wird der Wert von "frame" um eins erhöht. Wenn dieser größer als fünf ist, kommt es zu einem Zurücksetzen auf eins - die Animation beginnt erneut.

Der Sketch

// globale Variable zum Ablegen
// der Einzelbilder für die Anim.
PImage img1;
PImage img2;
PImage img3;
PImage img4;

// globale Variable zum Ablegen 
// der Abspielposition
int frame;

void setup () {
  // Größe des Sketches
  size (113, 107);
  // Setze dir Bildanzahl 
  // pro Sekunde auf 6
  frameRate (6);
  
  // Beginne mit Bild 1
  frame = 1;
  
  // Lade alle vier bilder
  img1 = loadImage ("bart01.png");
  img2 = loadImage ("bart02.png");
  img3 = loadImage ("bart03.png");
  img4 = loadImage ("bart04.png");
}

void draw () {
  // Setzt die Abspielposition auf das 
  // erste Bild wenn Programm das fünfte 
  // spielen würde (größer 4) 
  if (frame > 4) {
    frame = 1;
  }
  
  // Spielt durch bedingte Abfragen immer 
  // das Einzelbild für die aktuelle 
  // Position in der Animation ('frame')
  if (frame == 1) {
    image (img1, 0, 0);
  }
  if (frame == 2) {
    image (img2, 0, 0);
  }
  if (frame == 3) {
    image (img3, 0, 0);
  }
  if (frame == 4) {
    image (img4, 0, 0);
  }
  
  // erhöht die Abspielposition um eins
  frame = frame + 1;
}