Funktionen


Funktionen dienen dazu, oft wiederkehrende Codebereiche (Berechnungen, Formen usw.) nur einmal eingeben zu müssen, und sie dann immer wieder aufrufen zu können.

In der Regel geben Funktionen etwas zurück (das Resultat der Berechnung). Deshalb werden die Rückgabewerte von Funktionen auch einem Datentyp zugeordnet (int, float usw.)

Beispiel:

void setup() {
 float ergebnis = multipliziere(3.5, 2.0); // hier wird die funktion aufgerufen und der return-wert in der variable ergebnis gespeichert
 println (ergebnis);
}

float multipliziere (float zahl1, float zahl2) {
 return (zahl1*zahl2);  // hier wird der Rückgabewert definiert
}

In diesem Beispiel wird das Ergebnis der Funktion multipliziere in der Variable ergebnis gespeichert und dann per println am Bildschirm ausgegeben.

Eine Funktionen kann man von Variablen i. a. dadurch unterscheiden, dass bei ihrem Aufruf Parameter übertragen werden, die dann in einer runden Klammer angegeben werden.

frameRate….Variable

multipliziere (float zahl1, float zahl2)…Funktion

Wird eine Funktion, die beispielsweise eine komplexe Figur zeichnet, ohne Parameter aufgerufen, so bleiben die runden Klammern ohne Inhalt.

Die Funktionen setup() und draw()

Auch setup() und draw() sind Funktionen, allerdings welche die keine Werte zurückgeben. Solchen Funktionen wird eine void -Anweisung vorne angestellt.

void setup() ; void draw()

Außerdem haben diese beiden Funktionen in Processing eine spezielle Bedeutung, da die Funktion setup() immer als erste nach Programmstart genau ein mal ausgeführt wird, und dann (falls nicht anders definiert –> noLoop) die Funktion draw() immer wieder ausgeführt wird, bis das Programm selbst, oder der Benutzer das Programm stoppt.

Beispiel: Augen starte Applet

int mx,my; //definiert 2 globale variablen

void setup() {
size(300,300);
strokeWeight(3);
}

void draw() {
background(200);
gesicht(); //zeichnet den kopf und den schnabel
augen(110,height/2); //zeichnet das linke auge
augen(190,height/2); //zeichnet das rechte auge
}

void gesicht() {  //funktion ohne rückgabewert
fill(200);
ellipse  (150,150,160,160);
fill(200);
bezier(110,190,110,260,120,260,190,190);
}

void augen(int x,int y) { //funktion ohne rückgabewert
fill(255);
ellipse(x,y,60,60);
mx=mouseX-x;
my=mouseY-y;
fill(50);
ellipse(x+mx/10,y+my/10,20,20);
}


Advertisements

Ein Kommentar

  1. Pingback: Processing – Über dieses Weblog « processing – tutorial

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: