/* 31.01.2008 * ********************************* Dornršschen ******************************* ************************** Version 4.0.2 ************************************ ******************* jakl_pluess ********************************************* * *Desc: Architektur bekommt ein Pflanzenkleid * */ PImage zollverein; // PImage = Datentyp um Bilder zu speichern PImage zollverein_color; color black = color(0); // Definition globale Variable "black" ArrayList zweigStartPunkteListe = new ArrayList(); // Instanzierung einer neuen Liste "zweigStartPunkteListe" des Typs (Klasse) "ArrayList" int sx, sy; // globale Variablen Startpunktkoordinaten int activity; // globale Variable KnospenaktivitŠt void setup() // Setup (Einrichten der Umgebungseinstellungen) wird nur einmal aufgerufen beim Start des Programms { frameRate(8); // Bildergeschwindigkeit zollverein = loadImage("zollverein.jpg"); // laden des "Datenbildes" (Schwarz/Weiss) zollverein_color = loadImage("zollverein_color.jpg"); // laden des Deckbildes (Ansicht) size(600, 450); // Fenstergršsse smooth(); // Weichzeichner // image(zollverein, 0, 0); // Bildanzeige Hintergrundbild schwarz-weiss fŸr Pixelabfrage image(zollverein_color, 0, 0); // Bildanzeige Vodergrundbild farbig loadPixels(); // Bildpunkte werden in PixelListe gespeichert } void draw() // "draw()" lŠuft mit jedem Frame wieder durch! Wird kontinuirlich wiederholt -> darum wŠchst die Pflanze! { for(int i=0; i < (zweigStartPunkteListe).size(); i++) // for-Schlaufe durch "zweigStartPunkteListe" { Knospe currKnospe = (Knospe) zweigStartPunkteListe.get(i); // Instanzierung neues Objekt "currKnospe" des Typs "Knospe" mit Werten aus der aktuellen Pos. in "zweigStartPunkteListe" if (currKnospe.checkActivity() == 1) // falls die "currKnospe" aktiv (1) ist, dann... { currKnospe.astKontrolle(); // Aufruf(Zugriff) der Methode "astKontrolle" in "currKnospe" } } } void mouseReleased() // Funktion "mouseReleased" (wenn Maustaste losgelassen, dann aber mal los...) { if (mouseButton == LEFT) // Linke Maustaste { sx = mouseX; // Definition Startpunkt sy = mouseY; activity = 1; // AktivitŠt wird auf 1 gesetzt = aktiv knospeAnMausPos(); // Aufruf der Funktion "knospeAnMausPos" } } void knospeAnMausPos() // Funktion "knospeAnMausPosition" setzt ein Objekt an Startpunkt { Knospe neueKnospe = new Knospe(sx, sy, activity ); // neues Objekt "neueKnospe" des Typs "Knospe" wird Instanziert mit (Parameter) zweigStartPunkteListe.add(neueKnospe); // FŸgt die "neueKnospe" der zweigStartPunkteListe" an }