Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Mit diesem Wissen können wir nun unsere Klasse “Ball” ableiten. 

Processing02_3Image RemovedImage Added

Implementierung

...

Dazu bearbeiten wir zunächst unsere Klasse “Ball” und erstellen einen neuen Konstruktor:

Processing02_4Image RemovedImage Added

Der neue Konstruktor (Konstruktor2) unterscheidet sich darin, dass er die von uns gewünschten Argumente direkt akzeptiert und an unsere Funktionen weitergibt. Beim Initialisieren müssen wir nun nur noch die gewünschten Argumente übergeben und können kann verschiedene Objekte der Klasse “Ball” zeichnen.

Processing02_5Image RemovedImage Added

Merke

...

  • Klassen sind generische Objekte

...

  • Objekte sind initialisierte Ableitungen von Klassen

...

  • Argumente können den Objekten als Individualisierungs-Merkmale übergeben werden

Aufgaben

...

  • Nutzt eure Kenntnisse und programmiert ein weiteres Argument für die Steuerung der Strichbreite

Mehrere Objekte einer Klasse

...

Im setup() müssen wir diese Bälle nun instanzieren. Dazu definieren wir erst die Grösse des Arrays
balls = new Ball[numOfBalls]
Dann iterieren wir über die Anzahl unserer Bälle und instanzieren sie mit unterschiedlichen Argumenten. Weil alle andere Argumente haben sollen, nutzen wir dazu die Funktion random().

Processing02_6Image RemovedImage Added

Im draw() iterieren wir wieder über die Anzahl Bälle numOfBalls und rufen deren Funktionen zur Aktualisierung update(), zur Kantenkollision checkEdges() und Zeichnen display()

Processing02_7Image RemovedImage Added

Aufgaben

  • Lest und versteht Seiten 67 – 83 aus dem Buch “Nature Of Code” von Daniel Shiffman
  • Erweitert euer Beispiel “P02_3_Bouncing_Ball_OOP_Array” so dass ihr mehrere Bälle habt, welche auf euren Mauszeiger reagieren.

Processing02_8Image RemovedImage Added

Weiteres

  • OOP – Tutorial mit Darstellungen
  • Learning Processing – Shiffman Seiten 121 – 137