public abstract class Geometrie extends Raum implements Leuchtend, Listung
Ein Objekt, das aus n primitiven Geometrischen Formen - Dreiecken - besteht
Modifier and Type | Field and Description |
---|---|
protected BoundingRechteck |
dimension
Die Dimension des Objektes; zur schnellen Ausgabe
|
farbzyklus, position, roh
Constructor and Description |
---|
Geometrie(float x,
float y)
Konstruktor fuer Objekte der Klasse Geometrie
|
Modifier and Type | Method and Description |
---|---|
protected void |
aktualisieren()
aktualisisert die Dreiecke, aus denen die Figur besteht.
|
protected void |
aktualisierenFirst()
aktualisisert die Dreiecke, aus denen die Figur besteht UND weisst sie ein.
|
static BoundingRechteck |
ausDreiecken(Dreieck[] ecke)
Berechnet ein neues BoundingRechteck fuer ein Array aus Dreiecken
|
BoundingRechteck |
dimension()
Methode zum Beschreiben der rechteckigen Flaeche, die dieses Objekt einnimmt.
|
Collider |
erzeugeCollider()
Erzeugt einen neuen Collider für dieses Objekt.
|
void |
farbeSetzen(java.awt.Color c)
Setzt ganzheitlich die Farbe aller Formen auf eine bestimmte Farbe.
|
void |
farbeSetzen(Farbe f)
Setzt ganzheitlich die Farbe der gesamten geometrischen Figur auf eine Farbe.
|
void |
farbeSetzen(java.lang.String farbe)
Setzt ganzheitlich die Farbe aller Formen auf eine bestimmte Farbe.
|
BoundingRechteck[] |
flaechen()
Berechnet exakter alle Rechteckigen Flaechen, auf denen dieses Objekt liegt.
|
Dreieck[] |
formen()
Gibt alle Unterdreiecke dieser Geometrie-Figur wieder.
|
boolean |
leuchtet()
Gibt wieder, ob das Leuchtet-Objekt gerade leuchtet oder nicht.
|
void |
leuchtetSetzen(boolean leuchtet)
Setzt, ob dieses Geometrie-Objekt leuchten soll.
|
void |
leuchtSchritt()
Fuehrt einen Leuchtschritt aus.
|
void |
loeschen()
Diese Methode loescht alle eventuell vorhandenen Referenzen innerhalb der Engine auf dieses Objekt, damit es problemlos geloescht werden kann.
|
abstract Dreieck[] |
neuBerechnen()
In dieser Methode werden saemtliche Dreiecke neu berechnet und die Referenz bei Aufruf in der Superklasse hierauf gesetzt
|
void |
verschieben(Vektor v)
Verschiebt das Objekt.
|
void |
zeichnen(java.awt.Graphics2D g,
BoundingRechteck r)
Zeichnet das Objekt.
|
afterRender, aktivMachen, aktuellerCollider, beeinflussbarSetzen, beforeRender, beinhaltet, bewegen, bewegen, boundsUebernehmen, colliderSetzen, compareTo, drehenAbsolut, drehenRelativ, einfluesseZuruecksetzen, erzeugeLazyCollider, fallReagierbarAnmelden, geschwindigkeitHinzunehmen, geschwindigkeitSetzen, getForce, getMasse, gibDrehung, halbesAlpha, heavyComputingSetzen, hoehenUnterschied, impulsHinzunehmen, inFlaeche, istBeeinflussbar, kraftAnwenden, kraftSetzen, kritischeTiefeSetzen, leuchterAbmelden, leuchterAnmelden, luftwiderstandskoeffizient, luftwiderstandskoeffizientSetzen, masseSetzen, mittelPunkt, mittelpunktSetzen, mittelpunktSetzen, neutralMachen, newtonschMachen, passivMachen, position, positionSetzen, positionSetzen, positionX, positionY, problem, schneidet, schwerkraftAktivSetzen, schwerkraftSetzen, setzeMeterProPixel, sichtbar, sichtbarSetzen, sprung, stehReagierbarAnmelden, steht, stehtAuf, verschieben, zeichnenBasic, zentrum, zIndex, zuFarbeKonvertieren
protected BoundingRechteck dimension
Die Dimension des Objektes; zur schnellen Ausgabe
public Geometrie(float x, float y)
Konstruktor fuer Objekte der Klasse Geometrie
anzahlFormen
- Die Anzahl der Dreiecke, aus denen die Form bestehen wird.x
- Die bestimmende X-Koordinatey
- Die bestimmende Y-Koordinatepublic void verschieben(Vektor v)
Verschiebt das Objekt.
verschieben
in class Raum
v
- Der Vektor, der die Verschiebung des Objekts angibt.Vektor
public void farbeSetzen(java.awt.Color c)
Setzt ganzheitlich die Farbe aller Formen auf eine bestimmte Farbe.
Dadurch faerbt sich im Endeffekt das ganze Objekt neu ein.
c
- Die neue Farbepublic void farbeSetzen(Farbe f)
Setzt ganzheitlich die Farbe der gesamten geometrischen Figur auf eine Farbe.
f
- Die Farbe, die das Objekt haben soll.Farbe
public void farbeSetzen(java.lang.String farbe)
Setzt ganzheitlich die Farbe aller Formen auf eine bestimmte Farbe.
Dadurch faerbt sich im Endeffekt das ganze Objekt neu ein.
farbe
- Der String-Wert der Farbe. Zu der Zuordnung siehe Handbuchpublic void leuchtetSetzen(boolean leuchtet)
Setzt, ob dieses Geometrie-Objekt leuchten soll.
Ist dies der Fall, so werden immer wieder schnell dessen Farben geaendert; so entsteht ein Leuchteffekt.
leuchtetSetzen
in interface Leuchtend
leuchtet
- Ob dieses Objekt nun leuchten soll oder nicht (mehr).public void leuchtSchritt()
Fuehrt einen Leuchtschritt aus.
Dies heisst, dass in dieser Methode die Farbe einfach gewechselt wird. Da diese Methode schnell und oft hintereinander ausgefuehrt wird, soll so der Leuchteffekt entstehen.
Diese Methode sollte nur innerhalb der Engine ausgefuehrt werden! Also nicht fuer den Entwickler gedacht.
leuchtSchritt
in interface Leuchtend
public boolean leuchtet()
Gibt wieder, ob das Leuchtet-Objekt gerade leuchtet oder nicht.
public void zeichnen(java.awt.Graphics2D g, BoundingRechteck r)
Zeichnet das Objekt.
heisst in diesem Fall das saemtliche Unterdreiecke gezeichnet werden.
public BoundingRechteck dimension()
Raum
Methode zum Beschreiben der rechteckigen Flaeche, die dieses Objekt einnimmt.
Diese Methode wird zentral fuer die Trefferkollisionen innerhalb der Engine benutzt und gehoert zu den wichtigsten Methoden der Klasse und der Engine.
public BoundingRechteck[] flaechen()
Berechnet exakter alle Rechteckigen Flaechen, auf denen dieses Objekt liegt.
Diese Methode wird von komplexeren Gebilden, wie geometrischen oder Listen ueberschrieben.
protected void aktualisieren()
aktualisisert die Dreiecke, aus denen die Figur besteht.
Zugrunde liegt eine neue Wertzuweisung des Arrays, es wird neuBerechnen()
aufgerufen.
protected void aktualisierenFirst()
aktualisisert die Dreiecke, aus denen die Figur besteht UND weisst sie ein. Diese Methode MUSS am Ende eines jeden Konstruktors einer Klasse stehen, die sich hieraus ableitet
Zugrunde liegt eine neue Wertzuweisung des Arrays, es wird neuBerechnen()
aufgerufen.
public static BoundingRechteck ausDreiecken(Dreieck[] ecke)
Berechnet ein neues BoundingRechteck fuer ein Array aus Dreiecken
public void loeschen()
Diese Methode loescht alle eventuell vorhandenen Referenzen innerhalb der Engine auf dieses Objekt, damit es problemlos geloescht werden kann.
Achtung: zwar werden hierdurch alle Referenzen geloescht, die nur innerhalb der Engine liegen (dies betrifft vor allem Animationen etc), jedoch nicht die innerhalb eines Knoten
-Objektes!!!!!!!!!
Das heisst, wenn das Objekt an einem Knoten liegt (was immer der Fall ist, wenn es auch gezeichnet wird (siehe die Wurzel des Fensters)), muss es trotzdem selbst geloescht werden, dies erledigt diese Methode nicht!!.
Diese Klasse ueberschreibt die Methode wegen des Leuchtens.
public Dreieck[] formen()
Gibt alle Unterdreiecke dieser Geometrie-Figur wieder.
public abstract Dreieck[] neuBerechnen()
In dieser Methode werden saemtliche Dreiecke neu berechnet und die Referenz bei Aufruf in der Superklasse hierauf gesetzt
public Collider erzeugeCollider()
Erzeugt einen neuen Collider für dieses Objekt. Diese Methode approximiert für das Objekt der jeweils implementierenden Raum
-Klasse einen möglichst “guten” Collider; also einen solchen, der das tatsächliche Objekt möglichst genau umfängt, aber auch möglichst wenig Rechenarbeit beansprucht.
erzeugeCollider
in class Raum
Raum.colliderSetzen(Collider)