EA 4.x Tutorial: Objekte im Grafikfenster
Dies ist ein Tutorial für die Edu-Variante der Engine Alpha 4.x. Eine Übersicht aller Edu-Tutorials siehst du hier.
Inhaltsverzeichnis
Inhalt
In diesem Tutorial:
- Erstellst du Grafik-Objekte von vorgegebenen Klassen
- Veränderst du den Zustand der Objekte durch Methoden-Aufrufe
Zeichnen im Grafikfenster
Das Koordinatensystem ist mittig zentriert. Die x-Achse zeigt nach rechts und die y-Achse nach oben, so wie du es aus dem Mathematikunterricht kennst. Stelle dir das Grafikfenster vor wie ein zweidimensionaler Blick in die Welt. Stelle dir für 1 Längeneinheit immer 1 Meter vor, dann wird später auch die Physik funktionieren, wie du es vom Phsikunterricht her kennst :-)
Koordinatensystem zeigen oder verbergen
Das Koordinatensystem des Grafikfensters kann angezeigt oder ausgeblendet werden. Hierfür stellt die Klasse SPIEL
eine Methode zeigeKoordinatensystem(boolean zeigen)
zur Verfügung. rufe sie auf und übergib ihr den Wert true
um das Ko-Sy zu zeigen. Übergib ihr den Wert false
und das Ko-Sy wird verschwinden.
true
und false
müssen klein geschrieben werden und stehen NICHT in Anführungszeichen geschreiben.
Wand
Erstelle in deiner IDE interaktiv ein Objekt der Klasse RECHTECK
und nenne es 'Wand':
In BlueJ klickst du dazu mit der rechten Maustaste auf die Klassenkarte von RECHTECK
und wählst new RECHTECK()
.
Rufe interaktiv auf dem Objekt entsprechende Methoden auf, so dass die Wand größer wird, weiß ist und in der unteren Mitte des Grafikfensters liegt:
In BlueJ klickst du mit der rechten Maustaste auf die rote Objektkarte des Objekts und wählst geeignete Methoden aus. Beachte bei eventuell nötigen Eingaben Texte (anders als Zahlen) in Anführungszeichen gesetzt werden müssen. Kommazahlen haben einen Dezimalpunkt (kein Komma).
Dach
Erstelle nun ein neues Objekt der Klasse DREIECK und nenne es Dach. Gelingt es dir, das Dach auf das Haus zu setzen und rot zu färben? Suche nach geeigneten Methoden ...
Anregung zum Experimentieren
- Zeichne in dein Haus noch eine Türe und ein Fenster.
- Stelle neben das Haus noch einen Baum.
Physik der Engine
Du kannst Objekte der Engine Alpha mit wenigen Aktionen einer internen Physik unterwerfen. Sie unterliegen dann wahlweise der Schwerkraft oder prallen voneinander ab. Hierzu werden von einer gemeinsamen Oberklasse namens EduActor
diverse Methoden zur Verfügung gestellt, über die dann alle Objekte verfügen. Wir verwenden hier beispielhaft:
macheDynamisch()
: Unterwirft das Objekt der Schwerkraft.macheStatisch()
: Lässt das Objekt wie eine "unendlich schwere Mauer" wirken. Dynamische Objekte prallen davon ab.macheSensor()
: Frisch erzeugte Objeke sind Senoren. Damit kann man "dynamisch" oder "statisch" wieder rückgängig machen.setzeElastizitaet(double elastizitaet)
: setzt die Elastizität der Objekte. Sie verhalten sich dann wie "Gummibälle".setzeReibung(double reibungsKoeffizient)
: Setzt den Reibungskoeffizienten der Objekte. Damit kann man "rutschen" oder "gleiten" beeinflussen.
Dynamischer Ball
Erzeuge ein Objekt der Klasse RECHTECK
und nenne es Boden. Seine Breite soll 20 und seine Höhe 0.5 sein. Den Mittelpunkt setzt du auf (0|-8).
Erzeuge außerdem ein Objekt der Klasse KREIS
und nenne es Ball. Mache es dynamisch indem du seine Methode macheDynamisch() aufrufst.
In BlueJ machst du eine Rechtsklick auf die rote Objektkarte und geht zu "geerbt von EduActor" und bei Bedarf weiter über "weitere Methoden" bis du sie findest.
Der Ball unterliegt nun der Schwerkraft und fällt nach unten. Aber er ignoriert noch den Boden.