public class Physik extends Manager implements Ticker
KollisionsReagierbar
.Modifier and Type | Method and Description |
---|---|
void |
aktivAbmelden(Gravitator g)
Meldet einen Gravitator wieder ab - Vorausgesetzt er war auch angemeldet.
|
void |
aktivAnmelden(Gravitator g)
Meldet einen Gravitator fuer Aktiv-Objekte an.
|
void |
alleAktivenEinsetzen(Knoten k,
BoundingRechteck b)
Setzt alle Aktiv-Objekte, die eine bestimmte Flaeche uebertreten, in einen Knoten.
|
void |
alleAktivenTestenUndEinsetzen(Knoten k,
BoundingRechteck b,
Vektor v)
Setzt alle Aktiv-Objekte, die eine bestimmte Flaeche uebertreten, nicht jedoch nach der
Verschiebung ein Passiv-Objekt schneiden, in einen Knoten.
|
void |
alleAktivenTestenUndEinsetzenOhne(Knoten k,
BoundingRechteck b,
Vektor v,
Passivator p)
Setzt alle Aktiv-Objekte, die eine bestimmte Flaeche uebertreten, nicht jedoch nach der
Verschiebung ein Passiv-Objekt schneiden - mit einer bestimmten Ausnahme - in einen Knoten.
|
void |
anmelden(KollisionsReagierbar k,
Raum r1,
Raum r2)
Vereinfachte Form der anmelden()-Methode fuer Kollisionstests.
Hierbei wird immer der Code code = 0 bei der reagieren() -Methode mitgegeben, somit ist
beim Aufruf dieser Methode keine Fallunterscheidung innerhalb eines
FallReagierbar -Objektes moeglich! |
void |
anmelden(KollisionsReagierbar k,
Raum r1,
Raum r2,
int code)
Meldet ein KollisionsReagierbar-Interface bei der Physik an.
|
Vektor |
entblocken(BoundingRechteck r)
Gibt die Verschiebung zurueck, die noetig waere um das geblockte Bounding-Rechteck aus seinem
Zustand des Passiv-Blockiertseins zu loesen.
|
void |
entfernen(KollisionsReagierbar k)
Sorgt dafuer, das saemtliche Kollsiionsueberwachungsauftraege eines
KollisionsReagierbar -Interfaces nicht mehr ausgefuehrt werden. |
static Physik |
getPhysik()
Realisierung eines Singleton.
|
boolean |
inPassivem(BoundingRechteck r)
Prueft, ob eine Flaeche ein Passiv-Objekt schneidet.
|
boolean |
inPassivemAusser(BoundingRechteck r,
Passivator aus)
Prueft, ob eine Flaeche ein Passiv-Objekt - bis auf eine Ausnahme schneidet.
|
static void |
neutralize()
Neutralisiert die aktuelle Physik und macht Platz fuer eine neue.
|
void |
passivAbmelden(Passivator p)
Meldet einen Passivator wieder ab - Vorausgesetzt er war auch angemeldet.
|
void |
passivAnmelden(Passivator p)
Meldet einen Passivator an.
|
void |
tick()
In diesem Tick findet ein DELTA-t der Physik statt (= 1ms).
|
abmelden, alleAbmelden, anhalten, anmelden, anmelden, fontExistiert, hatAktiveTicker, intervallSetzen, istAngemeldet, kill, starten
public static void neutralize()
public static final Physik getPhysik()
public void passivAnmelden(Passivator p)
p
- Der Passivator, der anzumelden ist.public void passivAbmelden(Passivator p)
p
- Der abzumeldende Passivatorpublic void aktivAnmelden(Gravitator g)
g
- Der anzumeldende Gravitatorpublic void aktivAbmelden(Gravitator g)
g
- Der abzumeldende Gravitatorpublic void alleAktivenEinsetzen(Knoten k, BoundingRechteck b)
k
- In diesen Knoten werden alle Aktiv-Objekte, die die Flaeche betreten eingefuegt.b
- Dieses BoundingRechteck beschreibt die kritische Flaeche.public void alleAktivenTestenUndEinsetzen(Knoten k, BoundingRechteck b, Vektor v)
k
- In diesen Knoten werden alle Aktiv-Objekte, die die Flaeche betreten, nicht jedoch nach der
Verschiebung problematisch waeren eingefuegt.b
- Dieses BoundingRechteck beschreibt die kritische Flaeche.v
- Die kritische Verschiebung.public boolean inPassivem(BoundingRechteck r)
r
- Die Flaeche der Ueberprueftung, als BoundingRechtecktrue
, wenn diese Flaeche ein Passivobjekt schneidet, sonst
false
.public void alleAktivenTestenUndEinsetzenOhne(Knoten k, BoundingRechteck b, Vektor v, Passivator p)
k
- In diesen Knoten werden alle Aktiv-Objekte, die die Flaeche betreten, nicht jedoch nach der
Verschiebung problematisch waeren eingefuegt.b
- Dieses BoundingRechteck beschreibt die kritische Flaeche.v
- Die kritische Verschiebung.p
- Die eine Ausnahme als Passivatorpublic boolean inPassivemAusser(BoundingRechteck r, Passivator aus)
r
- Die Flaeche der Ueberprueftung, als BoundingRechteckaus
- Die eine Ausnahme, die bei den Kollisionstests nicht beruecksichtigt wird.true
, wenn diese Flaeche ein Passivobjekt - ausser der einen Ausnahme -
schneidet, sonst false
.public Vektor entblocken(BoundingRechteck r)
r
- Das zu entblockende BoundingRechteckpublic void anmelden(KollisionsReagierbar k, Raum r1, Raum r2)
reagieren()
-Methode mitgegeben, somit ist
beim Aufruf dieser Methode keine Fallunterscheidung innerhalb eines
FallReagierbar
-Objektes moeglich!k
- Das KollisionsReagierbar-Objekt, das benachrichtigt wird, wenn beide Objekte kollidierenr1
- Der erste Raum-Teil. Kollidieren beide, so wird das KollisionsReagierbar-Objekt
benachrichtigtr2
- Der zweite Raum-Teil. Kollidieren beide, so wird das KollisionsReagierbar-Objekt
benachrichtigtanmelden(KollisionsReagierbar, Raum, Raum, int)
public void anmelden(KollisionsReagierbar k, Raum r1, Raum r2, int code)
kollision(int code)
-Methode des anzumeldenden KollisionsReagierbar
-Interfaces
wird ab sofort immer dann aufgerufen wenn:kollision(int code)
-Methode nicht dafuer gesorgt, dass sich die Objekte
nicht mehr schneiden, so wird diese Methode wieder und wieder aufgerufen! k
- Das KollisionsReagierbar-Objekt, das benachrichtigt wird, wenn beide Objekte kollidierenr1
- Der erste Raum-Teil. Kollidieren beide, so wird das KollisionsReagierbar-Objekt
benachrichtigtr2
- Der zweite Raum-Teil. Kollidieren beide, so wird das KollisionsReagierbar-Objekt
benachrichtigtcode
- Der Code, der dem KollisionsReagierbar
-Objekt als Parameter in seiner
reagieren()-Methode mitgegeben werden soll.public void entfernen(KollisionsReagierbar k)
KollisionsReagierbar
-Interfaces nicht mehr ausgefuehrt werden.k
- Das Interface, an dem jede Ueberwachung von Raum-Objekten abgebrochen werden soll.