api:documentation:processing:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | api:documentation:processing:start [2024/08/31 10:03] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Processing ====== | ||
+ | <WRAP left round info 80%> | ||
+ | //" | ||
+ | Processing ist keine eigene Programmiersprache, | ||
+ | Wenn Du eine eigene Unterklasse von '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | überschreiben und mit Deinem Programmcode füllen. Innerhalb dieser Methoden kannst Du auf eine große Anzahl mächtiger Methoden von Processing zugreifen, die es Dir einfach machen, mit wenig Programmcode schöne interaktive Grafiken und Animationen zu erstellen. Ich zeige Dir am folgenden an einfachen Beispielen, wie das geht. Alle Details von Processing kann ich Dir aber hier nicht erklären, es gibt auch viel bessere Quellen dafür | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | </ | ||
+ | |||
+ | ===== Hello World-Programm ===== | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new HelloWorld().main(); | ||
+ | |||
+ | public class HelloWorld extends PApplet { | ||
+ | |||
+ | /** | ||
+ | * Die Methode setup wird nach dem Initialisieren des Grafiksystems von main aufgerufen. | ||
+ | */ | ||
+ | | ||
+ | createCanvas(800, | ||
+ | background(60); | ||
+ | fill(255); | ||
+ | textSize(50); | ||
+ | text(" | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP left round tip 80%> | ||
+ | Die Programmierung mit Processing unterscheidet sich von der Grafikprogrammierung, | ||
+ | * Es gibt nur ein kurzes Hauptprogramm, | ||
+ | * Es gibt keine grafischen Objekte (z.B. '' | ||
+ | * Das '' | ||
+ | </ | ||
+ | |||
+ | ===== Zustandsorientiertes Zeichnen von grafischen Objekten ===== | ||
+ | <WRAP left round info 80%> | ||
+ | Diese Methoden kannst Du verwenden, um die Einstellungen für Füllfarbe, Rahmenfarbe usw. des '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Hier eine Auswahl der Methoden zum Zeichnen: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new HelloWorld().main(); | ||
+ | |||
+ | public class HelloWorld extends PApplet { | ||
+ | |||
+ | /** | ||
+ | * Die Methode setup wird nach dem Initialisieren des Grafiksystems von main aufgerufen. | ||
+ | */ | ||
+ | | ||
+ | createCanvas(800, | ||
+ | background(80, | ||
+ | |||
+ | strokeWeight(10); | ||
+ | for(int i = 0; i < 10; i++) { | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | }</ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | | ||
+ | ===== Animationen erstellen mit Processing ===== | ||
+ | <WRAP center round info 60%> | ||
+ | Die '' | ||
+ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new AnimationDemo().main(); | ||
+ | |||
+ | class AnimationDemo extends PApplet { | ||
+ | |||
+ | float t = 0; | ||
+ | |||
+ | | ||
+ | createCanvas(1000, | ||
+ | fill(150, 150, 150, 120); | ||
+ | strokeWeight(20); | ||
+ | } | ||
+ | |||
+ | | ||
+ | background(20); | ||
+ | | ||
+ | t += 0.04; | ||
+ | float r = 300; | ||
+ | |||
+ | for(int i = 0; i < 10; i++) { | ||
+ | | ||
+ | float t1 = t + i * 0.4; | ||
+ | |||
+ | | ||
+ | float mx = 500 + r * cos(t1); | ||
+ | float my = 600 + r * sin(t1); | ||
+ | | ||
+ | |||
+ | t1 += 3.1; | ||
+ | | ||
+ | mx = 500 + r * cos(-t1); | ||
+ | my = 400 + r * sin(-t1); | ||
+ | |||
+ | | ||
+ | |||
+ | } | ||
+ | } | ||
+ | }</ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | | ||
+ | ===== Interaktion mit Tastatur ===== | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new Pong().main(); | ||
+ | |||
+ | class Pong extends PApplet { | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | createCanvas(800, | ||
+ | } | ||
+ | |||
+ | | ||
+ | background(0); | ||
+ | schläger1y += vySchläger; | ||
+ | fill(" | ||
+ | rect(0, schläger1y - 50, 20, 100); | ||
+ | | ||
+ | ballX += vxBall; | ||
+ | ballY += vyBall; | ||
+ | |||
+ | if(ballX > 790) vxBall *= -1; | ||
+ | if(ballY < 10 || ballY > 590) vyBall *= -1; | ||
+ | |||
+ | if(ballX < 30 && Math.abs(ballY - schläger1y) < 100) { | ||
+ | | ||
+ | } | ||
+ | |||
+ | if(ballX < 0) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | | ||
+ | fill(" | ||
+ | circle(ballX, | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(key == ' | ||
+ | | ||
+ | } | ||
+ | if(key == ' | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | vySchläger = 0; | ||
+ | } | ||
+ | |||
+ | }</ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
api/documentation/processing/start.txt · Zuletzt geändert: 2024/08/31 10:03 von 127.0.0.1