Processing Unterschiede?

... komplette Frage anzeigen

1 Antwort

Die Funktion setup wird zur Initialisierung des Screens genutzt und draw zum Zeichnen. Während setup nur einmal aufgerufen wird (zu Programmstart), läuft draw in einer Schleife. Die jeweiligen Aufrufe übernimmt allerdings Processing. Du selbst musst nur die Funktionskörper definieren.

Verändere pro draw-Call einfach die Position des Objekts:

void draw()
{
background(255, 204, 0);
x += direction; // direction = 1
ellipse(x, y, 10, 10)
}

Pro Durchlauf von draw wird durch Setzen der Hintergrundfarbe der Screen neu überzeichnet und die Variablen für x und y werden hochgezählt (in diesem Fall nur x). So wird die Ellipse jedesmal etwas weiter rechts gezeichnet.

Wenn der Kreis am Rand abprallen soll, dann muss pro draw die Position mit der Breite/Höhe des Screens verglichen werden (if-Anweisung). Die globalen Variablen width und height geben Auskunft über die Ausmaße des Screens (die mit size in der setup-Funktion zuvor festgelegt werden konnte). Ist der Rand erreicht, negiere einfach den Wert von direction. Ist er oben bspw. -1, bewegt sich der Kreis wieder nach links.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DennisZero
14.11.2016, 22:27

Danke für die Antwort, aber was würdest du bei dem hier hinzufügen, damit es vom Rand abprallt :

int x = 0;

void setup()
{
size(500, 500);
}
void draw(){
background(0);
ellipse(x,x,87,54);
ellipse(65,x,50,50);
rect(x,50,50,50);
x++;
}
0

Was möchtest Du wissen?