klassen2:inheritance:flyingrectangle:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
klassen2:inheritance:flyingrectangle:start [2020/05/02 22:05] – [1. Grafikausgabe] Martin Pabst | klassen2:inheritance:flyingrectangle:start [2020/05/03 10:36] – [3. Animation] Martin Pabst | ||
---|---|---|---|
Zeile 45: | Zeile 45: | ||
== a) Erzeugen des Grafikbereiches (" | == a) Erzeugen des Grafikbereiches (" | ||
- | < | + | < |
new World(800, 600); | new World(800, 600); | ||
</ | </ | ||
Zeile 51: | Zeile 51: | ||
== b) Zeichnen eines Rechtecks == | == b) Zeichnen eines Rechtecks == | ||
Die Anweisung | Die Anweisung | ||
- | < | + | < |
new Rectangle(100, | new Rectangle(100, | ||
</ | </ | ||
- | erzeugt ein Rechteck-Objekt und zeichnet es in den Grafikbereich. Das Rechteck ist initial achsenparallel, | + | erzeugt ein Rechteck-Objekt und zeichnet es in den Grafikbereich. Das Rechteck ist initial achsenparallel |
- | * | + | * (left, top): Koordinaten der linken oberen Ecke |
+ | * width, heigth: Breite und Höhe des Rechtecks | ||
+ | == Beispiel == | ||
+ | Im folgenden zeichnen wir ein Rechteck auf den Bildschirm, färben es rot und drehen es um 70° gegen den Uhrzeigersinn: | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new World(800, 800); | ||
+ | Rectangle r = new Rectangle(50, | ||
+ | r.setFillColor(Color.red); | ||
+ | r.rotate(70); | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== 2. Erweitern der Klasse Rectangle ==== | ||
+ | Wir definieren jetzt eine Unterklasse '' | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new World(800, 800); | ||
+ | new FlyingRectangle(); | ||
+ | |||
+ | class FlyingRectangle extends Rectangle { | ||
+ | |||
+ | | ||
+ | // Rufe den Konstruktor der Oberklasse auf und setze Position und Größe: left: 360, top: 720, width: 80, height: 80 | ||
+ | super(360, 720, 80, 80); | ||
+ | |||
+ | // setze eine zufällige Farbe und Durchsichtigkeit | ||
+ | setFillColor(Math.round(Math.random() *(256 *256 * 256 - 1)), Math.random()*0.8+0.2); | ||
+ | } | ||
+ | |||
+ | }</ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== 3. Animation ==== | ||
+ | In der Grafikbibliothek von LearnJ besitzt jedes graphische Objekt eine Methode '' | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new World(800, 800); | ||
+ | new FlyingRectangle(); | ||
+ | |||
+ | class FlyingRectangle extends Rectangle { | ||
+ | |||
+ | | ||
+ | // Rufe den Konstruktor der Oberklasse auf und setze Position und Größe: left: 360, top: 720, width: 80, height: 80 | ||
+ | super(360, 720, 80, 80); | ||
+ | |||
+ | // setze eine zufällige Farbe und Durchsichtigkeit | ||
+ | setFillColor(Math.round(Math.random() *(256 *256 * 256 - 1)), Math.random()*0.8+0.2); | ||
+ | } | ||
+ | |||
+ | | ||
+ | rotate(4); | ||
+ | } | ||
+ | |||
+ | }</ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ |
klassen2/inheritance/flyingrectangle/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1