public abstract class Collider
extends java.lang.Object
implements java.lang.Cloneable
#ea.Raum
-Objekte.Modifier and Type | Field and Description |
---|---|
protected Vektor |
offset
Der Offset dieses Colliders.
|
Constructor and Description |
---|
Collider() |
Modifier and Type | Method and Description |
---|---|
static boolean |
boxboxCollision(BoxCollider b1,
BoxCollider b2,
Punkt p1,
Punkt p2)
Logische Abfrage für die Kollision zweier Boxen.
|
abstract Collider |
clone()
Überschriebene Clone-Methode für effizientes, tiefgehendes klonen von Collidern.
|
abstract boolean |
istNullCollider()
Gibt zurück, ob dieser Collider ein
NullCollider ist, also nur
false zur�ckgeben kann. |
Vektor |
offset()
Gibt den Offset dieses Vektors relativ zum zugehörigen
Raum an. |
void |
offsetSetzen(Vektor os)
Setzt den Offset dieses Colliders neu.
|
static boolean |
sphereboxCollision(SphereCollider sphere,
BoxCollider box,
Punkt ps,
Punkt pb)
Logische Abfrage für die Kollision eines Kreises mit einer Box.
|
static boolean |
spheresphereCollision(SphereCollider s1,
SphereCollider s2,
Punkt p1,
Punkt p2)
Logische Abfrage für die Kollision zweier Kreise.
|
abstract boolean |
verursachtCollision(Punkt positionThis,
Punkt positionOther,
Collider other)
Prüft, ob dieser Collider sich mit einem weiteren Collider schneidet.
|
abstract Raum |
visualize(Punkt p,
Farbe color)
Gibt eine visuelle Interpretation dieses Colliders als
Raum-Objekt aus. |
protected Vektor offset
offsetSetzen(ea.Vektor)
public static boolean boxboxCollision(BoxCollider b1, BoxCollider b2, Punkt p1, Punkt p2)
b1
- Box 1b2
- Box 2p1
- Position von Box 1 auf der Zeichenebenep2
- Position von Box 2 auf der Zeichenebenetrue
, wenn sich beide Boxen bei aktueller Belegung schneiden, sonst
false
.public static boolean spheresphereCollision(SphereCollider s1, SphereCollider s2, Punkt p1, Punkt p2)
s1
- Kreis 1s2
- Kreis 2p1
- Position von Kreis 1 auf der Zeichenebenep2
- Position von Kreis 2 auf der Zeichenebenetrue
, wenn sich beide Kreise bei aktueller Belegung schneiden, sonst
false
.public static boolean sphereboxCollision(SphereCollider sphere, BoxCollider box, Punkt ps, Punkt pb)
sphere
- Der Kreisbox
- Die Boxps
- Position von Spherepb
- Position von Boxtrue
, wenn sich Kreis und Box schneiden, sonst false
.public final void offsetSetzen(Vektor os)
Raum
-Objekt und dem Collider direkt aufeinander. Der Offset wird
also relativ zur aktuellen Position des Raum
-Objektes in der Zeichenebene
hinzugerechnet, um die endgültige Position des Colliders für die Kollisionsabfragen
festzulegen.os
- Der neue Offset für diesen Collider.offset()
public final Vektor offset()
Raum
an.Raum
an.public abstract boolean verursachtCollision(Punkt positionThis, Punkt positionOther, Collider other)
other
- Ein zweiter Collider.true
, falls sich dieser Collider mit dem zweiten Collider schneidet.
Schneiden sich dieser Collider und der zweite Collider nicht, so gibt diese Funktion
false
zurück.public abstract boolean istNullCollider()
NullCollider
ist, also nur
false
zur�ckgeben kann.true
, falls dieser Collider ein Null-Collider ist, sonst
false
.public abstract Raum visualize(Punkt p, Farbe color)
Raum-Objekt
aus.color
- Die (Füll)Farbe, in der das grafische Objekt ggf. dargestellt werden soll.p
- Der Punkt, an dem das zugehörige Objekt derzeit ist.public abstract Collider clone()
clone
in class java.lang.Object