public class Knoten extends Raum implements Listung
farbzyklus, position, roh
Constructor and Description |
---|
Knoten()
Konstruktor für Objekte der Klasse Knoten
|
Modifier and Type | Method and Description |
---|---|
void |
add(Raum... m)
Kombinationsmethode.
|
void |
add(Raum m)
Fuegt ein Raum-Objekt diesem Knoten hinzu.
Das zugefuegte Objekt wird ab dann in alle Methoden des Knotens ( verschieben(), dimension() etc.) mit eingebunden. |
Raum[] |
alleElemente()
Gibt alle Elemente des Knotens in Form eines
Raum -Objekt-Arays aus. |
boolean |
besitzt(Raum m)
Prueft, ob ein bestimmtes Raum-Objekt in diesem Knoten gelagert ist.
ACHTUNG Diese Methode prueft nicht eventuelle Unterknoten, ob diese vielleiht das Raum-Objekt beinhalten, sondern nur den eigenen Inhalt! |
boolean |
bewegen(Vektor v)
Bewegt jedes angelegte Objekt für sich allein (Physik-Modus)!
Das bedeutet, dass das Blockiertwerden eines einzelnen Raum -Objektes an diesem Knoten nicht
automatisch alle anderen Objekte blockiert. |
BoundingRechteck |
dimension()
Die dimension()-Methode.
Gibt ein BoundingRechteck aus, das alle
Komponente dieses Knotens bedeckt. |
void |
entfernen(Raum m)
Entfernt ein Raum-Objekt von diesem Knoten.
War es mehrfach angesteckt, so werden alle Verbindungen geloescht, war es niemals angemeldet, so passiert gar nichts. Achtung!! Sollte Physik benutzt werden: Diese Methode macht alle abgemeldeten Raum -Objekt fuer die Physik neutral!!!Sollte dies NICHT gewuenscht sein, gibt es hierfuer die Methode entfernenOhnePhysikAbmelden() . |
void |
entfernenOhnePhysikAbmelden(Raum m)
Entfernt ein Raum-Objekt von diesem Knoten, ohne seine Physik zu beeinflussen.
War es mehrfach angesteckt, so werden alle Verbindungen geloescht, war es niemals angemeldet, so passiert gar nichts. |
Collider |
erzeugeCollider()
Erzeugt einen neuen Collider für dieses Objekt.
|
BoundingRechteck[] |
flaechen()
Berechnet exakter alle rechteckigen Flächen, auf denen dieses Objekt liegt.
Diese Methode wird von komplexeren Gebilden, wie geometrischen oder Listen ueberschrieben. |
void |
leeren()
Entfernt alle Raum-Objekte von diesem Knoten, die an diesem Knoten gelagert sind.
ACHTUNG Sollte Physik benutzt werden: Diese Methode macht alle abgemeldeten Raum -Objekt fuer die Physik neutral!!!Sollte dies NICHT gewuenscht sein, gibt es hierfuer die Methode leerenOhnePhysikAbmelden() . |
void |
leerenOhnePhysikAbmelden()
Loescht alle Raum-Objekte, die an diesem Knoten gelagert sind, ohne sie jedoch von ihrer
Physik her zu beeinflussen.
|
void |
setOpacity(float opacity)
Setzt die Durchsichtigkeit für jedes angemeldete Objekt.
|
void |
verschieben(Vektor v)
Verschiebt diesen Knoten.
Das heisst, dass saemtliche anliegenden Raum-Objekte gleichermassen Verschoben werden. |
void |
zeichnen(java.awt.Graphics2D g,
BoundingRechteck r)
Zeichnet den Knoten.
Das heisst, der Zeichnen-Befehl wird an die Unterobjekte weitergetragen. Diese Methode ist nur intern von Bedeutung |
afterRender, aktivMachen, aktuellerCollider, beeinflussbarSetzen, beforeRender, beinhaltet, bewegen, boundsUebernehmen, colliderSetzen, compareTo, drehenAbsolut, drehenRelativ, einfluesseZuruecksetzen, erzeugeLazyCollider, fallReagierbarAnmelden, geschwindigkeitHinzunehmen, geschwindigkeitSetzen, getBreite, getForce, getHoehe, getMasse, getOpacity, getX, getY, gibDrehung, halbesAlpha, heavyComputingSetzen, hoehenUnterschied, impulsHinzunehmen, inFlaeche, istBeeinflussbar, konstanteKraftSetzen, kraftAnwenden, kritischeTiefeSetzen, leuchterAbmelden, leuchterAnmelden, loeschen, luftwiderstandskoeffizient, luftwiderstandskoeffizientSetzen, masseSetzen, mittelPunkt, mittelpunktSetzen, mittelpunktSetzen, neutralMachen, newtonschMachen, passivMachen, position, positionSetzen, positionSetzen, positionX, positionY, problem, schneidet, schwerkraftAktivSetzen, schwerkraftSetzen, setX, setY, setzeMeterProPixel, sichtbar, sichtbarSetzen, sprung, stehReagierbarAnmelden, steht, stehtAuf, verschieben, zeichnenBasic, zentrum, zIndex, zuFarbeKonvertieren
public void leeren()
Raum
-Objekt fuer die Physik neutral!!!leerenOhnePhysikAbmelden()
.leerenOhnePhysikAbmelden()
public void leerenOhnePhysikAbmelden()
public void entfernen(Raum m)
Raum
-Objekt fuer die Physik neutral!!!entfernenOhnePhysikAbmelden()
.m
- Das von diesem Knoten zu entfernende Raum-ObjektentfernenOhnePhysikAbmelden(Raum)
public void entfernenOhnePhysikAbmelden(Raum m)
m
- Das von diesem Knoten zu entfernende Raum-Objektpublic boolean besitzt(Raum m)
m
- Das Raum-Objekt, das auf Vorkommen in diesem Knoten ueberprueft werden solltrue
, wenn das Raum-Objekt ein- oder auch mehrmals an diesem
Knoten liegtpublic void add(Raum... m)
//Der Knoten, um alle
Objekte zu sammeln
Knoten knoten = new Knoten();
//Lauter gebastelte
Raum-Objekte
Raum r1
Raum r2;
Raum r3;
Raum r4;
Raum r5
Raum r6;
Raum r7;
Raum r8;
Raum r9
Raum r10;
Raum r11;
Raum r12;
//Eine Methode, um alle anzumelden:
knoten.add(r1, r2, r3, r4,
r5, r6, r7, r8, r9, r10, r11, r12);
public void add(Raum m)
verschieben(), dimension()
etc.) mit eingebunden.m
- Das hinzuzufuegende Raum-Objektpublic Raum[] alleElemente()
Raum
-Objekt-Arays aus.Raum
-Objekt-Aray.public boolean bewegen(Vektor v)
Raum
-Objektes an diesem Knoten nicht
automatisch alle anderen Objekte blockiert.bewegen
in class Raum
v
- Der die Verschiebung beschreibende Vektor.true
, wenn bei allen anderen Objekten die Rueckgabe auch
true
ist. Sonst ist die Rueckgabe false
.Raum.bewegen(float, float)
,
Raum.verschieben(Vektor)
,
Raum.verschieben(float, float)
public void zeichnen(java.awt.Graphics2D g, BoundingRechteck r)
public BoundingRechteck dimension()
BoundingRechteck
aus, das alle
Komponente dieses Knotens bedeckt.public void verschieben(Vektor v)
verschieben
in class Raum
v
- Der Vektor, der die Verschiebung angibt.Vektor
,
Raum.verschieben(float, float)
,
Raum.bewegen(Vektor)
,
Raum.bewegen(float, float)
public Collider erzeugeCollider()
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. Collider ist eine Gruppierung der Collider aller Raum
-Objekte, die
an diesem Knoten angehängt sind.erzeugeCollider
in class Raum
Raum.colliderSetzen(Collider)
public BoundingRechteck[] flaechen()
public void setOpacity(float opacity)
setOpacity
in class Raum
opacity
-