21. September 2012
Gegeben war ein Standard Smiley, welcher durch drücken einer Taste seinen Gemütszustand ändern sollte Default Sad (Key1) Drunk (Key2) Angry (Key3) Old (Key4) Astound (Key5) Sleepy (Key6) Horny (Key7) Panic (Key8) Default Smiley wird immer angezeigt wenn keine Taste gedrückt wird, ansonsten zeigt es durch drücken der Tasten 1-8 den entsprechenden Gemütszustand an.- void setup: Setzt die wichtigsten Einstellungen und Parameter für das Programm überhaupt fest. (z.B. Fenstergrösse)
- void draw: Diese Funktion wird in einer Schlaufe dauern durchgeführt. Dadurch lassen sich unter anderem auch animierte Darstellungen im Processing erstellen.
- void keyPressed: Führt einen beliebigen Befehl aus wenn die gewünschte Taste gedrückt wird.
- void keyReleased: Führt einen default Befehl aus wenn die Taste losgelassen wird.
- if-Schleife: Um gewissen Aktionen automatisieren zu können gibt es auch die Möglichkeit Bedingungen zu setzen
CODE
int SMILEY_DEFAULT = 1; int SMILEY_SAD = 2; int SMILEY_DRUNK = 3; int SMILEY_ANGRY = 4; int SMILEY_OLD = 5; int SMILEY_ASTOUND = 6; int SMILEY_SLEEPY = 7; int SMILEY_HORNY = 8; int SMILEY_PANIC = 9; int smileyType = SMILEY_DEFAULT; void setup() { size(400, 400); // def. fenstergroesse smooth(); // aktiviere antialiasing strokeWeight(5); // linienbreite } void draw() { background(255); // def. hintergrundfarbe // teste ob der mauszeiger innerhalb des smiley ist // if (mouseX > (width * .5 - 90) && mouseX < (width * .5 + 90) && // mouseY > (height * .5 - 90) && mouseY < (height * .5 + 90)) // // die mouse ist im smiley, smiley mag das nicht // smileyType = SMILEY_SAD; // else // smileyType = SMILEY_DEFAULT; pushMatrix(); translate(width * .5, width * .5); smiley(smileyType); // funktions aufruf popMatrix(); } // funktion void smiley(int smileyType) { noFill(); ellipse(0, 0, 180, 180); // kopf fill(0); if (smileyType == SMILEY_SAD) { ellipse(0 - 30, 0 - 30, 20, 20); // linkes augen ellipse(0 + 30, 0 - 30, 20, 20); // rechtes augen strokeWeight(15); beginShape(); stroke(255); vertex(45,-35); vertex(25,-45); endShape(); beginShape(); stroke(255); vertex(-45,-35); vertex(-25,-45); endShape(); stroke(0); strokeWeight(5); } else if(smileyType == SMILEY_DRUNK) { ellipse(0 - 20, 0 - 30, 20, 20); // linkes augen ellipse(0 + 20, 0 - 28, 15, 15); // rechtes augen beginShape(); vertex(35,-35); vertex(15,-45); endShape(); beginShape(); vertex(-35,-35); vertex(-15,-45); endShape(); } else if(smileyType == SMILEY_ANGRY) { ellipse(0 - 30, 0 - 30, 15, 15); // linkes augen ellipse(0 + 30, 0 - 30, 15, 15); // rechtes augen strokeWeight(15); beginShape(); vertex(-50,-50); // AUgenbraue links vertex(-20,-40); // AUgenbraue rechts endShape(); beginShape(); vertex(50,-50); // AUgenbraue links vertex(20,-40); // AUgenbraue rechts endShape(); strokeWeight(5); } else if(smileyType == SMILEY_OLD) { fill(255); strokeWeight(1); ellipse(0 - 30, 0 - 13, 20, 20); ellipse(0 + 30, 0 - 13, 20, 20); strokeWeight(5); fill(0); strokeWeight(1); beginShape(); vertex(-20,-13); // AUgenbraue links vertex(20,-13); // AUgenbraue links endShape(); beginShape(); vertex(-87,-25); // AUgenbraue links vertex(-40,-15); // AUgenbraue links endShape(); beginShape(); vertex(87,-25); // AUgenbraue links vertex(40,-15); // AUgenbraue links endShape(); strokeWeight(5); ellipse(0 - 30, 0 - 13, 3, 3); // linkes augen ellipse(0 + 30, 0 - 13, 3, 3); // rechtes augen } else if(smileyType == SMILEY_ASTOUND) { fill(255); strokeWeight(2); ellipse(0 - 30, 0 - 30, 50, 50); ellipse(0 + 30, 0 - 30, 50, 50); strokeWeight(5); fill(0); ellipse(0 - 30, 0 - 17, 3, 3); // linkes augen ellipse(0 + 30, 0 - 17, 3, 3); // rechtes augen } else if(smileyType == SMILEY_SLEEPY) { fill(255); arc(-30, -30, 30, 30, radians(40), radians(180-40)); // mund arc(30, -30, 30, 30, radians(40), radians(180-40)); // mund fill(0); } else if(smileyType == SMILEY_HORNY) { fill(255); strokeWeight(2); ellipse(0 - 30, 0 - 30, 50, 50); ellipse(0 + 30, 0 - 30, 50, 50); strokeWeight(5); fill(0); ellipse(0 - 30, 0 - 30, 5, 5); // linkes augen ellipse(0 + 30, 0 - 30, 5, 5); // rechtes augen } else if(smileyType == SMILEY_PANIC) { ellipse(0 - 30, 0 - 30, 42, 42); // linkes augen ellipse(0 + 30, 0 - 30, 42, 42); // rechtes augen } else { ellipse(0 - 30, 0 - 30, 20, 20); // linkes augen ellipse(0 + 30, 0 - 30, 20, 20); // rechtes augen } noFill(); if (smileyType == SMILEY_SAD) arc(0, 80, 100, 100, radians(180+40), radians(360-40)); // mund else if(smileyType == SMILEY_DRUNK) { beginShape(); vertex(-35,40); vertex(-25,50); // AUgenbraue links vertex(-5,45); // AUgenbraue rechts vertex(10,50); vertex(30,40); vertex(40,33); endShape(); } else if(smileyType == SMILEY_ANGRY) arc(0, 60, 100, 100, radians(180+40), radians(360-40)); // mund else if(smileyType == SMILEY_OLD) { arc(0, 30, 30, 30, radians(60), radians(180-60)); // mund } else if(smileyType == SMILEY_ASTOUND) ellipse(0, 0 + 40, 20, 20); else if(smileyType == SMILEY_SLEEPY) { fill(0); ellipse(0, 45, 10, 20); fill(255); } else if(smileyType == SMILEY_HORNY) { arc(0, 0, 100, 100, radians(40), radians(180-40)); // mund arc(25, 50, 15, 15, radians(-45), radians(165)); } else if(smileyType == SMILEY_PANIC) { fill(255); ellipse(0, 0 + 45, 70, 70); } else arc(0, 0, 100, 100, radians(20), radians(180-20)); // mund } void keyPressed() { if(key=='1') smileyType = SMILEY_SAD; else if(key == '2') smileyType = SMILEY_DRUNK; else if(key == '3') smileyType = SMILEY_ANGRY; else if(key == '4') smileyType = SMILEY_OLD; else if(key == '5') smileyType = SMILEY_ASTOUND; else if(key == '6') smileyType = SMILEY_SLEEPY; else if(key == '7') smileyType = SMILEY_HORNY; else if(key == '8') smileyType = SMILEY_PANIC; else smileyType = SMILEY_DEFAULT; } void keyReleased() { smileyType = SMILEY_DEFAULT; }