Creative Coding

btk

Till Nagel

Objekte 1 - Woche 6

Bibliotheken

Processing wurde entwickelt, um Grafiken und Bewegung zu erzeugen und auf allgemeine, einfache Eingabegeräte wie Maus und Tastatur zu reagieren. Damit hat es absichtlich und bewußt einen recht eingeschränkten Fokus. Mit Hilfe von Bibliotheken kann man erweiterte Funktionalitäten verwenden, die Processing nicht direkt zu Verfügung stellt. Eine Bibliothek besteht aus Anweisungen und Klassen, die benutzt und/oder erzeugt werden können. Der Code dieser Bibliotheken ist – wie selbst geschrieben – in Processing (oder Java) progammiert. Der Vorteil an einer Bibliothek ist, dass diese auf einfache Weise eingebunden werden kann.

Mit solchen Libraries wird es über Grafikerzeugung und Bildbearbeitung hinaus möglich, etwa Audio und Video zu benutzen oder mit externen Geräten zu kommunizieren. Auch das Einlesen von Daten aus dem Internet und viele weitere Manipulationen werden erleichtert.

Import

Um eine Bibliothek verwenden zu können, muss sie im Processing-Programm hinzugefügt werden. Dies geschieht mit einer einzelnen Zeile, in der die Bibliothek importiert wird. Diese kann man entweder selbst in den Code reinschreiben, oder über das Menü "Sketch > Import Library" auswählen. Um zum Beispiel die grafischen Anweisungen schneller mit Hilfe der Grafikkarte ausführen zu können, fügt man folgende Zeile am Anfang des Progamms hinzu:

Die Anweisung import besagt, dass nun alle Klassen aus der angegebenen Bibliothek verwendet werden können. Der processing.opengl.* bezeichnet den Namen der Bibliothek. (Genauer: Die Klassen liegen im Paket processing.opengl und werden wegen des Asterisk-Platzhalters alle geladen.)

Core libraries & Contributions

Processing bringt von Haus aus einige grundlegenden Bibliotheken mit, wie etwa die OpenGL und die PDF Bibliotheken. Diese Core Libraries müssen nicht extra herunter geladen werden und können direkt importiert werden.

Andere Bibliotheken wurden nicht mit Processing mit geliefert und müssen vor der Verwendung erst herunter geladen werden. Man findet diese im Internet und kann sie für seine Processing-Umgebung installieren.

Installation externer Bibliothken

Um eine externe (Contribution-)Bibliothek verwenden zu können, muss man diese erst herunter laden und installieren. Meist wird eine Zip-Datei angeboten, die man direkt im Processing-Ordner entpacken kann. Nach erfolgreicher Installation taucht die Bibliothek dann auch im "Sketch > Import Library"-Menü auf.

Bibliotheken im Sketch-Folder

Wenn die Bibliotheken (oder wenn man keine Rechte hat, den Processing-Programm Ordner zu verändern) kann man externe Bibliotheken auch direkt im Sketch-Ordner speichern.

  1. In den Sketch-Ordner gehen (Menü: Sketch > Show Sketch Folder)
  2. Neuen Ordner "code" anlegen
  3. Die Bibliotheks Dateien hier rein kopieren (z.B. die JAR Dateien)
  4. In Processing verwenden

Objektorientierte Programmierung

Objektorientiertes Programmieren (OOP) ist ein Programmierkonzept, dass von den meisten höheren Programmiersprachen wie Processing oder ActionScript unterstützt wird. Objektorientierte Programme sind nicht unbedingt schneller oder schlanker, sie sind aber oft besser zu verstehen. In diesem Sinne bedeutet OOP vor allem, anders über Programmierung nachzudenken. Im Mittelpunkt des OOP steht das Objekt. Statt mit einzelnen Funktionen und Variablen zu arbeiten, bietet OOP die Möglichkeit, eine Reihe von Eigenschaften und Methoden abzukapseln und sie als eine Einheit, bzw. als ein Objekt zu behandeln. Diese Objekte können dann ein hohes Maß an Komplexität bekommen. Jedem Objekt liegt eine Klasse zugrunde, in der schon die grundsätzliche Struktur aller Objekte angelegt ist.

Eine detaillierte Einführung hierzu gibt es in in Woche 8 - OOP 2. Hier schauen wir uns zunächst an, wie bereits in Processing vorhandene Objekte und Methoden verwendet werden können.

Auch Processings eigene Objekte (wie PImage oder String) haben Eigenschaften und Methoden.

Strings

Wie bereits in Woche 2 - Texte verwenden gezeigt, kann auf String-Variablen nicht nur zugegriffen werden, um Texte zu speichern, und sie mit Hilfe von Fonts darzustellen, sondern es können verschiedene Methoden aufgerufen werden, die bestimmte Eigenschaften des Textes auslesen, oder Manipulationen mit dem String ermöglichen.

Dieses txt.length() ruft eine Methode auf, die die Länge des Strings, also die Anzahl der Zeichen zurückgibt.
Eine Methode ist eine Funktion eines Objekts. Diese Verwendung von Methoden nennt man aufgrund des Punktes zwischen Objekt-Variablennamen und Methodennamen die Punktnotation.

Im Folgenden Beispiel wird neben txt.length() auch die Methode charAt() eingesetzt, um auf einzelne Buchstaben zugreifen und sie graphisch codieren zu können.

Array-Eigenschaften

Auch ein Array hat Eigenschaften und Methoden, so etwa die Eigenschaft length die die Anzahl der Elemente gespeichert hat. Dies kann man u.a. für Schleifen einsetzen:

Creative Commons Lizenz: Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.0 (Deutschland)

© 2008 Till Nagel, All rights reserved – Alle Rechte vorbehalten.