Lernpfad:Einführung in Processing/6: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Zeile 17: Zeile 17:


== Aktiver Modus ==
== Aktiver Modus ==
 
[[Bild:Processing_PAP_AktiverModus.png|right|200px]]
Der ''aktive Modus'' ist etwas komplizierter, aber dafür sind hier Interaktionen mit dem Programm möglich und deine Zeichnungen können zum Beispiel animiert (also bewegt) werden.  
Der ''aktive Modus'' ist etwas komplizierter, aber dafür sind hier Interaktionen mit dem Programm möglich und deine Zeichnungen können zum Beispiel animiert (also bewegt) werden.  



Version vom 4. November 2021, 22:32 Uhr

Processing besitzt zwei verschiedene Modi, in denen ein Programm ablaufen kann.

Statischer Modus

Processing PAP StatischerModus.png

Im statischen Modus werden die Befehle im Programmfenster der Reihe nach (von oben nach unten) abgearbeitet. Beispielsweise:

println("1");
println("2");
println("3");

Wurden alle Befehle abgearbeitet (wenn es unten "angekommen" ist), dann endet das Programm. Nun ändert sich nichts mehr. Ein Klick auf die Zeichenfläche oder ein Tastendruck können vom Programm nicht mehr erkannt werden.

Diesen Modus haben wir bisher benutzt.

Aktiver Modus

Processing PAP AktiverModus.png

Der aktive Modus ist etwas komplizierter, aber dafür sind hier Interaktionen mit dem Programm möglich und deine Zeichnungen können zum Beispiel animiert (also bewegt) werden.

Damit Processing in den aktiven Modus schaltet, muss das Programm den folgenden Grundaufbau haben:

void setup() {
   
}

void draw() {
   
}

Sieht Processing ein setup() oder ein draw(), dann wird der aktive Modus ausgeführt.

Processing 2021 logo.svg
Arbeitsauftrag

Probiere es mal mit diesem Beispiel aus:

void setup() {
   println("Hallo");
}

void draw() {
   println("Welt");
}

Kannst du erkennen, wie der aktive Modus funktioniert? Welche Aufgabe haben setup() und draw()? (Du kannst dich auch an den Namen orientieren.)


Im aktiven Modus wird das Programm nicht mehr einfach nur "von oben nach unten" ausgeführt. Statt dessen werden zunächst einmal alle Befehle in den geschweiften Klammern ({ }) von setup() ausgeführt und dann immer wieder alle innerhalb der von draw(). Das Programm endet erst, wenn du den STOP Knopf betätigst.

Icon Info.png
Die geschweiften Klammern markieren einen Block: einen zusammengehörenden Programmabschnitt.
Processing 2021 logo.svg
Arbeitsauftrag

Um die neue Art der Ausführung zu verdeutlichen, schreiben wir das Beispiel von oben etwas um:

void draw() {
   println("Welt");
}

void setup() {
   println("Hallo");
}

Probier es aus und vergleiche die Ausgabe mit der letzten Aufgabe.


Von nun an wollen wir hauptsächlich im aktiven Modus arbeiten.

Icon Warning.png
Der statische und der aktive Modus sollten nicht vermischt werden! Sobald du setup() oder draw() benutzt, sollten alle Befehle innerhalb der geschweiften Klammern stehen.

Interaktionen

Im aktiven Modus sind nun Interaktionen sehr leicht umsetzbar.

Processing 2021 logo.svg
Arbeitsauftrag
  1. Studiere das folgende Programm, probier es dann aus und erkläre seine Funktionsweise.
    void setup() {
      size(200,200);
    }
    
    void draw() {
      circle(mouseX, mouseY, 20);
    }
    
  2. Ergänze den Befehl background(200); in draw() vor circle(). Erkläre die Veränderung des Programms.
  3. Verschiebe den background() Befehl hinter circle(). Deckt sich deine Beobachtung mit deiner Vermutung?


Klicken, um das Programm zu starten.

Übungsaufgaben

Processing 2021 logo.svg
Arbeitsauftrag

-