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

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 70: Zeile 70:


{{Warnung|Der statische und der aktive Modus sollten nicht vermischt werden! Sobald du <code>setup()</code> oder <code>draw()</code> benutzt, sollten alle Befehle innerhalb der geschweiften Klammern stehen.}}
{{Warnung|Der statische und der aktive Modus sollten nicht vermischt werden! Sobald du <code>setup()</code> oder <code>draw()</code> benutzt, sollten alle Befehle innerhalb der geschweiften Klammern stehen.}}
== Interaktionen ==
Im aktiven Modus sind nun Interaktionen sehr leicht umsetzbar.
{{Aufgabe:Start|Icon=Processing_2021_logo.svg}}
# Studiere das folgende Programm, probier es dann aus und erkläre seine Funktionsweise.
#: <syntaxhighlight lang="java" lines="1">
void setup() {
  size(200,200);
}
void draw() {
  circle(mouseX, mouseY, 20);
}
</syntaxhighlight>
# Ergänze den Befehl <code>background(200);</code> in <code>draw()</code> vor <code>circle()</code>. Erkläre die Veränderung des Programms.
# Verschiebe den <code>background()</code> Befehl hinter <code>circle()</code>. Deckt sich deine Beobachtung mit deiner Vermutung?
{{Aufgabe:End}}
<p5js height="300">https://preview.p5js.org/Ngb/embed/pXnhhpMqM</p5js>
== Übungsaufgaben ==
{{Aufgabe:Start|Icon=Processing_2021_logo.svg}}
-
{{Aufgabe:End}}

Version vom 4. November 2021, 22:34 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.