Heutzutage ist man gewohnt, dass man Apps mit Tastatur, Maus, Finger oder Eingabestift steuern kann, so dass die App auf Eingaben reagiert. Dieses Zusammenspiel von Eingabe und Ausgabe nennt man "Interaktion". Viele Apps bieten neben der Möglichkeit zur Interaktion auch Animationen, bei denen sich Objekte auf dem Display verändern.
Interaktionen und Animationen zu programmieren, ist anspruchsvoll und für Anfänger*innen wenig geeignet. Die Bibliothek p5.js bietet die Möglichkeit, auch ohne große Programmierkenntnisse interaktive und animierte Apps zu bauen, weswegen wir sie in diesem Kurs verwenden.
Im p5.js-Blockly-Editor gibt es in der Kategorie "p5-Funktionen" die beiden Blöcke "setup()" und "draw()":
- Alle Anweisungen, die im Block "setup()" stehen, werden genau einmal beim Programmstart ausgeführt.
- Alle Anweisungen, die im Block "draw()" stehen, werden viele Male pro Sekunde ausgeführt.
Man muss nicht wissen, wie die p5.js-Bibliothek das macht, man kann den Block "draw()" nutzen, um eine Animation oder eine interaktive App zu programmieren, indem man eine Anweisung, bei denen sich während des Programmablaufs Werte ändern, in den Block "draw()" setzt.
Im folgenden ersten Beispiel wird erst ein statischer Kreis gezeichnet, der sich nicht ändert. Im zweiten Beispiel wird ein Kreis gezeichnet, dessen Position man während des Programmablaufs mit der Maus ändern kann.