public class Figur extends Raum
//Die Figur laden
Figur meineFigur = new
Figur(30, 100, "meineFigurDateiImProjektordner.eaf"); //Laedt die Figur und setzt sie an Position
(30|100)
//Die Bewegung der Figur starten (muss nicht ausgefuehrt werden, Sa
standard)
meineFigur.animiertSetzen(true);
// Die Figur an dem entsprechenden
Knoten zum halten und Zeichnen anmelden (In diesem Fall die Wurzel in der Klasse Game)
wurzel.add(meineFigur);
Modifier and Type | Field and Description |
---|---|
protected PixelFeld[] |
animation
Die einzelnen Bilder der Figur.
hat es mehr als eines, so wird ein periodischer Wechsel vollzogen. |
farbzyklus, position, roh
Constructor and Description |
---|
Figur()
Der parameterlose Konstruktor.
Hiebei wird nichts gesetzt, die Figur hat die Position (0|0) sowie keine Animationen, die Referenz auf die einzelnen Pixelfelder ist null .Dieser Konstruktor wird intern verwendet, um Figurdaten zu laden. Daher ist er nicht für die direkte Verwendung in Spielen gedacht. |
Figur(float x,
float y,
java.lang.String verzeichnis)
Standart-Konstruktor für Objekte der Klasse
Figur . |
Figur(float x,
float y,
java.lang.String verzeichnis,
boolean add)
Besonderer Konstruktor fuer Objekte der Klasse
Figur . |
Figur(java.lang.String verzeichnis)
Erstellt eine Figur ohne Positionsangabe.
|
Modifier and Type | Method and Description |
---|---|
int |
aktuellesBild()
Gibt den Index des aktuellen Bildes zurueck.
Die Figur, die im Pixelfeldeditor erstellt wurde besteht den Bildern (1, 2, ..., n), aber ACHTUNG, die Indizes fangen bei 0 an und hoeren dann eins frueher auf (0, 1, ..., (n-1)). |
PixelFeld[] |
animation() |
void |
animationLoeschen(int index)
Löscht ein Animationsbild an einem bestimmten Index und rückt den Rest nach.
|
void |
animationsBildSetzen(int bildIndex)
Setzt das aktuelle Animationsbild.
Die Figur, die im Pixelfeldeditor erstellt wurde besteht den Bildern (1, 2, ..., n), aber ACHTUNG, die Indizes fangen bei 0 an und hören dann eins frueher auf (0, 1, ..., (n-1)). |
void |
animationsBildSetzen(PixelFeld bild,
int index)
Setzt das Animationsbild auf einer bestimmten Position auf ein neues Pixelfeld.
|
void |
animationsBildVerschieben(int indexAlt,
int indexNeu)
Verschiebt die Position eines Animationsbildes.
Hierbei wird ein bisschen mit den Werten des Arrays gespielt, jedoch kein neues Array erstellt. |
void |
animationSetzen(PixelFeld[] a)
Setzt eine neue Animationsreihe.
|
void |
animationsGeschwindigkeitSetzen(int intervall)
Setzt die Geschwindigkeit der Animation, die diese Figur Figuren steuert.
Jed groesser Die Zahl ist, desto langsamer laeuft die Animation, da der Eingabeparamter die Wartezeit zwischen der Schaltung der Animationsbilder in Millisekunden angibt! |
void |
animationsSchritt(int runde)
Ruft das naechste Bild im Animationszyklus auf.
Sollte nicht von aussen aufgerufen werden, stellt aber in keinem mathematisch greifbaren Fall ein Problem dar. |
boolean |
animiert()
Gibt an, ob das Bild momentan animiert wird bzw.
|
void |
animiertSetzen(boolean animiert)
Setzt die Animationsarbeit bei dieser Figur.
|
BoundingRechteck |
dimension()
Methode zum Beschreiben der rechteckigen Fläche, die dieses Objekt einnimmt.
Diese Methode wird zentral für die Trefferkollisionen innerhalb der Engine benutzt und gehört zu den wichtigsten Methoden der Klasse und der Engine. |
void |
dunkler()
Dunkelt alle Farbwerte der Figur ab.
Gegenstueck zur Methode heller() .Achtung: Wegen Rundungsfehlern muss der Aufruf von dunkler()
nach dem Aufruf von heller() nicht zwanghaft zum urspruenglichen Zustand
fuehren! |
void |
einfaerben(Farbe f)
Faerbt alle Elemente in einer Farbe ein.
Dieser Zustand laesst sich zuruecksetzen mit der Methode zurueckFaerben() . |
void |
einfaerben(java.lang.String farbe)
Faerbt alle Elemente in einer Farbe ein.
Dieser Zustand laesst sich zuruecksetzen mit der Methode zurueckFaerben() . |
Collider |
erzeugeCollider()
Erzeugt einen neuen Collider für dieses Objekt.
|
void |
faktorSetzen(int faktor)
Setzt den Größenfaktor dieser Figur neu.
|
void |
farbenTransformieren(int r,
int g,
int b)
Sorgt fuer eine Farbtransformation.
Das heißt, zu jeder Farbe der Figur werden die RGB-Werte um feste Betraege geaendert (positive oder negative). |
BoundingRechteck[] |
flaechen()
Berechnet exakter alle Rechteckigen Flaechen, auf denen dieses Objekt liegt.
Diese Methode wird von komplexeren Gebilden, wie geometrischen oder Listen ueberschrieben. |
void |
heller()
Hellt alle Farbwerte der Figur auf.
Gegenstück zur Methode dunkler() .Achtung: Wegen Rundungsfehlern muss der Aufruf von dunkler()
nach dem Aufruf von heller() nicht zwanghaft zum urspruenglichen Zustand
fuehren! |
int |
intervall()
Gibt das Intervall dieser Figur zurueck.
|
void |
negativ()
Setzt sämtliche Farbwerte sämtlicher Bilder der Figur in ihr Negativ.
Dadurch ändert sich die Erscheinung der Figur. |
void |
spiegelXSetzen(boolean spiegel)
Setzt, ob diese Figur bei der Darstellung waagrecht zentral gespiegelt werden soll oder
nicht.
Dies aendert die Drehungsrichtung einer Figur von N nach S bzw. |
void |
spiegelYSetzen(boolean spiegel)
Setzt, ob diese Figur bei der Darstellung senkrecht zentral gespiegelt werden soll oder
nicht.
So laesst sich extrem schnell z.B. |
boolean |
xGespiegelt()
Diese Methode gibt aus, ob diese Figur derzeit an der X-Achse (waagrecht) gespiegelt ist.
|
boolean |
yGespiegelt()
Diese Methode gibt aus, ob diese Figur derzeit an der Y-Achse (senkrecht) gespiegelt ist.
|
void |
zeichnen(java.awt.Graphics2D g,
BoundingRechteck r)
Zeichnet das Objekt.
|
void |
zurueckFaerben()
Sorgt dafuer, dass nach dem Aufruf von
einfaerben(Farbe) die Figur wieder ihre
normalen Farbgegebenheiten kriegt. |
afterRender, aktivMachen, aktuellerCollider, beeinflussbarSetzen, beforeRender, beinhaltet, bewegen, 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, setOpacity, setX, setY, setzeMeterProPixel, sichtbar, sichtbarSetzen, sprung, stehReagierbarAnmelden, steht, stehtAuf, verschieben, verschieben, zeichnenBasic, zentrum, zIndex, zuFarbeKonvertieren
protected PixelFeld[] animation
public Figur(java.lang.String verzeichnis)
ActionFigur
.verzeichnis
- Das Verzeichnis, aus dem die Figur zu laden ist.ActionFigur
public Figur(float x, float y, java.lang.String verzeichnis)
Figur
.x
- X-Position; die links obere Eckey
- Y-Position; die links obere Eckeverzeichnis
- Das verzeichnis, aus dem die Figur zu laden ist.public Figur(float x, float y, java.lang.String verzeichnis, boolean add)
Figur
. Dieser Konstruktor wird
vor allem intern (fuer Actionfiguren) verwendet. Anders ist nur die Option darauf, dass die
Figur am Animationssystem direkt teilnimmt. Dies ist beim Standart-Konstruktor immer der
Fall.x
- X-Position; die links obere Eckey
- Y-Position; die links obere Eckeverzeichnis
- Das verzeichnis, aus dem die Figur zu laden ist.add
- Ob diese Figur am Animationssystem direkt teilnehmen soll. (Standard)public Figur()
null
.@API public void animationLoeschen(int index)
index
- Der Index des zu löschenden Einzelbildes.java.lang.ArrayIndexOutOfBoundsException
- Wenn ein Index außerhalb der Größes des internen Arrays gewählt wurde.java.lang.RuntimeException
- Falls nur noch ein Element vorhanden war. Das letzte Element darf nicht entfernt werden!@NoExternalUse public void animationsBildSetzen(PixelFeld bild, int index)
bild
- Neues Pixelfeld an der angegebenen Position. Darf nicht null
sein!index
- Index des zu ersetzenden Pixelfeldesjava.lang.ArrayIndexOutOfBoundsException
- Wenn ein Index außerhalb der Größes des internen Arrays gewählt wurde.java.lang.IllegalArgumentException
- Wenn der Parameter bild
null
war.@API public void animationsBildVerschieben(int indexAlt, int indexNeu)
indexAlt
- Index des zu verschiebenden BildesindexNeu
- Index, den das Bild nach dem verschieben haben soll.java.lang.ArrayIndexOutOfBoundsException
- Wenn ein Index außerhalb der Größes des internen Arrays gewählt wurde.@NoExternalUse public void animationsSchritt(int runde)
runde
- Die Runde dieses Schrittes; dieser Wert wird intern benoetigt, um zu entscheiden, ob etwas
passieren soll oder nicht.public void animationSetzen(PixelFeld[] a)
a
- Die neue Animationsreihe. Das Array muss mindestens ein Pixelfeld zum Inhalt habenjava.lang.IllegalArgumentException
- Falls animation
null
war oder keine Elemente enthalten hat.public void animiertSetzen(boolean animiert)
animiert
- ob die Figur animiert werden soll, oder ob sie ein Standbild sein soll.public boolean animiert()
public void animationsBildSetzen(int bildIndex)
5
eingegeben wird, ist das Bild gemeint, das im Figureneditor als Bild
6
bezeichnet wurde.bildIndex
- Der Index des anzuzeigenden Bildespublic void faktorSetzen(int faktor)
faktor
- Der neue Größenfaktorpublic void negativ()
heller()
,
dunkler()
,
farbenTransformieren(int, int, int)
public void heller()
dunkler()
.dunkler()
nach dem Aufruf von heller()
nicht zwanghaft zum urspruenglichen Zustand
fuehren!dunkler()
,
negativ()
,
farbenTransformieren(int, int, int)
public void dunkler()
heller()
.dunkler()
nach dem Aufruf von heller()
nicht zwanghaft zum urspruenglichen Zustand
fuehren!heller()
,
negativ()
,
farbenTransformieren(int, int, int)
public void farbenTransformieren(int r, int g, int b)
public void einfaerben(java.lang.String farbe)
zurueckFaerben()
.farbe
- Die Farbe, mit der alle farbenthaltenden Unterquadrate der Figur eingefaerbt werden.String
, so wie bei den anderen einfachen Farbeingaben auch.zurueckFaerben()
,
einfaerben(Farbe)
public void einfaerben(Farbe f)
zurueckFaerben()
.f
- Die Farbe, mit der alle farbenthaltenden Unterquadrate der Figur eingefaerbt werden.zurueckFaerben()
,
einfaerben(String)
public void spiegelXSetzen(boolean spiegel)
spiegel
- Ist dieser Wert true
, so wird die Figur waagrecht gespiegelt im Vergleich zu
ihrer Quelldatei dargestellt. Durch false
kann dieser Zustand schnell wieder
zurueckgesetzt werden.spiegelYSetzen(boolean)
,
yGespiegelt()
,
xGespiegelt()
public void spiegelYSetzen(boolean spiegel)
spiegel
- Ist dieser Wert true
, so wird die Figur senkrecht gespiegelt im Vergleich zu
ihrer Quelldatei dargestellt. Durch false
kann dieser Zustand schnell wieder
zurueckgesetzt werden.spiegelXSetzen(boolean)
,
yGespiegelt()
,
xGespiegelt()
public boolean xGespiegelt()
true
, wird diese Figur derzeit genau an der X-Achse
gespiegelt dargestellt, im Verhältnis zu der ursprünglichen Figurdatei.spiegelXSetzen(boolean)
,
spiegelYSetzen(boolean)
,
yGespiegelt()
public boolean yGespiegelt()
true
, wird diese Figur derzeit genau an der Y-Achse
gespiegelt dargestellt, im Verhältnis zu der ursprünglichen Figurdatei.spiegelXSetzen(boolean)
,
spiegelYSetzen(boolean)
,
xGespiegelt()
public void zurueckFaerben()
einfaerben(Farbe)
die Figur wieder ihre
normalen Farbgegebenheiten kriegt.einfaerben(Farbe)
,
einfaerben(String)
public void zeichnen(java.awt.Graphics2D g, BoundingRechteck r)
public BoundingRechteck dimension()
Raum
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.erzeugeCollider
in class Raum
Raum.colliderSetzen(Collider)
public BoundingRechteck[] flaechen()
Raum
public int aktuellesBild()
5
zurueckgegeben wird, wird zur Zeit das Bild gezeigt, das im
Figureneditor als Bild 6
bezeichnet wurde.public PixelFeld[] animation()
public int intervall()
animationsGeschwindigkeitSetzen(int)
public void animationsGeschwindigkeitSetzen(int intervall)
intervall
- Die Wartezeit in Millisekunden zwischen den Bildaufrufen dieser Figur.