Processing Workshop 2010

Lehrveranstaltung FH Trier Intermedia Design
Sebastian Meier

Code-Beispiele

Für alle die nicht weiterkommen oder noch ein wenig Anregung brauchen hier noch ein paar Code-Beispiele.

//zwei schraegstriche sorgen dafuer das alles ws in der selben zeile
//steht vom programm spaeter ignoriert wird, so kann man einzelne
//befehle deaktivieren oder notizen in den code einfuegen.

//außerhalb der setup() & draw() funktion
//werden globale variablen definiert

//int definiert das die variable "zaehler"
//nur mit ganzen zahlen gefüllt werden darf
int zaehler = 0;
int kreis_groesse = 0;

//boolean definiert das die variable "richtung"
//nur "false" oder "true" sein kann
boolean richtung = false;

//die setup-funktion wird zu beginn des programms einmal ausgeführt
void setup(){
  //mit size(breit, hoehe); können wir
  //die größe unsers programms definieren
  size(400, 400);
}

//die draw-funktion wird so lange das programm läuft
//immer wieder aufgerufen
void draw(){
  //mit background können wir die hintergrundfarbe angeben
  //farben können immer wie folgt angegeben werden
  //background(0); bis background(255); : "weiß" bis "schwarz"
  //background(rot, gruen, blau); jeweils 0 bis 255
  //background(rot, gruen, blau, transparenz); s.o. plus die
  //transparenz ebenfalls 0 bis 255
  background(255);

  //stroke() gibt die linienfarbe an. genau wie bei background
  //kann man die angabe der farbe variieren
  stroke(0);

  //strokeWeight() gibt die linienstaerke an, diese wird in
  //Pixeln definiert
  strokeWeight(10);

  //noStroke() sorgt dafuer das keine linien gezeichnet werden
  //noStroke();

  //strokeJoin() gibt an was gemalt werden soll wenn zwei linien
  //aufeinander stossen. weitere angaben ausser "ROUND" findet ihr
  //auf http://processing.org/reference/strokeJoin_.html
  strokeJoin(ROUND);

  //strokeCap() gibt an wie die enden der linien aussehen sollen
  //weitere angaben ausser "ROUND" findet ihr auf
  //http://processing.org/reference/strokeCap_.html
  strokeCap(ROUND);

  //mit ellipseMode() koennen wir definieren wo die x- und
  //y-koordinaten liegen die wir beim malen der ellipse angeben
  //bei "CENTER" liegt der nullpunkt in der mitte des kreises
  //wenn wir "CORNER" schreiben, liegt der nullpunkt oben links
  ellipseMode(CENTER);

  //fill() gibt die fuellung an, hier gelten wieder die selben
  //regeln wie bei background & stroke
  fill(255,8,128);

  //noFill() sorgt dafuer das gezeichnete objekte keine fuellung haben
  //noFill();

  //ellipse(x-position, y-position, breite, hoehe) zeichnet
  //eine ellipse an die angegebene x- & y-position mit der
  //entsprechenden breite und hoehe
  ellipse(200, 200, kreis_groesse, kreis_groesse);

  //wenn wir bei einer variable die eine zahl enthaelt
  //"++" hinter die zahl schreiben wird zu der zahl die
  //in der variable gespeichert ist "1" dazu addiert.
  //schreiben wir "--" wird "1" subtrahiert.
  //wollen wir einen anderen wert als "1" nehmen, können
  //wir "+=5" für addieren und "-=5" fuer subtrahieren nutzen
  zaehler++;

  //if(){} ist eine wenn-dann funktion
  //wenn das was in der runden klammer steht zutrifft werden
  //die zeilen die darauf folgend in den geschwungenen klammern
  //stehen ausgefuehrt, trifft es nicht zu werden diese ueber-
  //sprungen. in diesem fall kann die funktion wie folgt gelesen
  //werden: wenn "richtung" gleich "true" dann subtrahiere 1 von "kreis_groesse"
  //"==" sorgt also dafuer das ueberprueft wird ob zwei werte bzw.
  //variablen gleich sind andere moegliche ueberpruefungen sind:
  //>= groesser gleich
  // groesser
  if(richtung == true){
    kreis_groesse--;
  }

  if(richtung == false){
    kreis_groesse++;
  }

  if(zaehler >= 100){
    zaehler = 0;
    if(richtung == true){
      richtung = false;
    //}else{ ist ein zusatz zur else funktion es als wenn-nicht-dann
    //gelesen werden. wenn das was in der ersten if-funktion stand
    //NICHT zutrifft dann wird das ausgefuehrt was nach else in den
    //geschweiften klammern steht
    }else{
      richtung = true;
    }
  }

}

Category: Beginner

Tagged:

Leave a Reply

Kursinfo

Zum Winter-Semester-Anfang (2010/2011) wird ein Workshop zum Thema Processing angeboten. Der Workshop richtet sich an Anfänger und Fortgeschrittene. mehr erfahren

Autoren

Meta