Class Camera
Sie kann ein Objekt fokussieren und ihm so folgen. Hierbei besteht auch die Möglichkeit, diesen Fokus in Grenzen zu halten. Und zwar durch die Fokus-Bounds. Diese 4 Grenzwerte können individuell verstellt und aktiviert werden. auch kann man den von der Kamera darzustellenden Bereich durch eine einzige Methode definieren, in dem man den Bereich als Bounds beschreibt.
Bounds bounds = new Bounds(0, 0, 1500, 1000);
camera.bounds(bounds);
Hierdurch wird der gesamte Fokus auf den Bereich zwischen den Punkten (0|0) und (1500|1000) eingestellt.
Achtung!
Bei den Fokus-Einstellungen sollte immer ein Bereich gewählt werden, der die
Größe des Anzeigefensters (oder Vollbildes) bei weitem übersteigt.
Allgemein wirken diese Bounds auch ohne aktivierten Fokus, jedoch ist
dies meist weniger sinnvoll.
- Author:
- Michael Andonie, Josef Friedrich
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleDer Standardwert für die Anzahl an Pixel eines Meters.static final double -
Method Summary
Modifier and TypeMethodDescriptionMit dieser Methode kann die Kamerabewegung eingeschränkt werden.focus()Gibt die aktuelle Position des Kamerafokus zurück.focus(double x, double y) Verschiebt das Zentrum der Kamera zur angegebenen Position (absolute Verschiebung).Setzt den Fokus der Kamera auf eine Figur.Verschiebt das Zentrum der Kamera zur angegebenen Position (absolute Verschiebung).booleanGibt an, ob die Kamera durchBoundsin ihrer Bewegung beschränkt ist.booleanhasFocus()Gibt an, ob die Kamera ein Fokus-Objekt verfolgt oder „steif“ ist.doublemeter()Gibt die Anzahl an Pixel aus, die einem Meter entsprechen.meter(double pixelCount) Setzt die Anzahl an Pixel, die einem Meter entsprechen und setzt somit den „Zoom“ der Kamera.moveFocus(double deltaX, double deltaY) Verschiebt die Kamera um einen bestimmten Wert inx- undy-Richtung (relativ).Verschiebt die Kamera um einen bestimmten Vektor (relativ).offset()Gibt den Verzug der Kamera aus.Setzt einen Kameraverzug.Entfernt die fokussierte Figur von der Kamera.rotateBy(double angle) Rotiert die Kamera um den angegebenen Winkel.rotateTo(double angle) Setzt den Rotationswert der Kamera.doublerotation()Gibt die aktuelle Drehung zurück.zoomIn()Die Kamera bewegt sich um den Standard-Zoomfaktor näher an das Spielfeld.zoomIn(double factor) Die Kamera bewegt sich näher an das Spielfeld.zoomOut()Die Kamera entfernt sich um den Standard-Zoomfaktor vom Spielfeld.zoomOut(double factor) Die Kamera entfernt sich vom Spielfeld.
-
Field Details
-
DEFAULT_METER
public static final double DEFAULT_METERDer Standardwert für die Anzahl an Pixel eines Meters.- See Also:
-
DEFAULT_ZOOM_FACTOR
public static final double DEFAULT_ZOOM_FACTOR- See Also:
-
-
Method Details
-
focus
Gibt die aktuelle Position des Kamerafokus zurück.- Returns:
- Die aktuelle Position des Kamerafokus.
-
focus
Verschiebt das Zentrum der Kamera zur angegebenen Position (absolute Verschiebung). Von nun an ist der Punkt mit den eingegebenen Koordinaten im Zentrum des Bildes.- Parameters:
focus- Das neue Zentrum der Kamera.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
focus
Verschiebt das Zentrum der Kamera zur angegebenen Position (absolute Verschiebung). Von nun an ist der Punkt mit den eingegebenen Koordinaten im Zentrum des Bildes.- Parameters:
x- Diex-Koordinate des Zentrums des Bildes.y- Diey-Koordinate des Zentrums des Bildes.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
focus
Setzt den Fokus der Kamera auf eine Figur.Dieses Objekt ist ab dann im „Zentrum“ der Kamera. Die Art des Fokus (rechts, links, oben, unten, mittig, etc.) kann über die Methode
offset(Vector)geändert werden. Soll das Fokusverhalten beendet werden, kann einfachnullübergeben werden, dann bleibt die Kamera bis auf Weiteres in der aktuellen Position.- Parameters:
actor- Die Figur, die fokussiert werden soll.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
removeFocus
Entfernt die fokussierte Figur von der Kamera.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..). - Since:
- 0.28.0
-
moveFocus
Verschiebt die Kamera um einen bestimmten Vektor (relativ).- Parameters:
delta- Die Verschiebung als Vektor.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
moveFocus
Verschiebt die Kamera um einen bestimmten Wert inx- undy-Richtung (relativ).- Parameters:
deltaX- Die Verschiebung inx-Richtung.deltaY- Die Verschiebung iny-Richtung.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
hasFocus
Gibt an, ob die Kamera ein Fokus-Objekt verfolgt oder „steif“ ist.- Returns:
true, wenn die Kamera ein Fokus-Objekt hat, sonstfalse.- See Also:
-
offset
Setzt einen Kameraverzug. Der Standardwert hierfür ist(0, 0).Der Verzug ist ein Vektor, um den der
Fokusverschoben wird. Das heißt, dass eine Figur im Fokus um 100 Pixel tiefer als im absoluten Bildzentrum liegt, wenn der Fokus-Verzug mit folgender Methode gesetzt wurde:camera.offset(new Vector(0, -100));- Parameters:
offset- Der Vektor, um den ab sofort die Kamera vom Zentrum des Fokus verschoben wird.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
offset
Gibt den Verzug der Kamera aus.- Returns:
- Der aktuelle Verzug der Kamera.
- See Also:
-
bounds
Mit dieser Methode kann die Kamerabewegung eingeschränkt werden.Ein Rechteck gibt die Begrenzung an, die die Kameraperspektive niemals übertreten wird.
- Parameters:
bounds- Das Rechteck, das die Grenzen der Kamera angibt.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..). - See Also:
-
hasBounds
Gibt an, ob die Kamera durchBoundsin ihrer Bewegung beschränkt ist.- Returns:
truefalls ja, sonstfalse.- See Also:
-
meter
Setzt die Anzahl an Pixel, die einem Meter entsprechen und setzt somit den „Zoom“ der Kamera.Die Anzahl an Pixel eines Meters bestimmt wie „nah“ oder „fern“ die Kamera an der Zeichenebene ist. Der Standardwert eines Meters ist
32Pixel. Größere Werte zoomen näher an die Spielfläche heran, kleine Werte weiter von der Spielfläche weg.- Parameters:
pixelCount- Die neue Anzahl an Pixel, die einem Meter entsprechen.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..). - See Also:
-
meter
Gibt die Anzahl an Pixel aus, die einem Meter entsprechen.Ist die Pixelvervielfältigung aktiviert, wird der Faktor der Pixelvervielfältigung mit der Pixelanzahl multipliziert
- Returns:
- Die Anzahl an Pixel aus, die einem Meter entsprechen.
-
zoomIn
Die Kamera bewegt sich näher an das Spielfeld. Die Ansicht wird vergrößert.- Parameters:
factor- 1 verdoppelt die Pixelanzahl eines Meters, 0 keine Veränderung.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..). - Since:
- 0.28.0
-
zoomIn
Die Kamera bewegt sich um den Standard-Zoomfaktor näher an das Spielfeld. Die Ansicht wird vergrößert.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..). - Since:
- 0.28.0
-
zoomOut
Die Kamera entfernt sich vom Spielfeld. Die Ansicht wird verkleinert.- Parameters:
factor- 0.5 halbiert die Pixelanzahl eines Meters, 0 keine Veränderung.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..). - Since:
- 0.28.0
-
zoomOut
Die Kamera entfernt sich um den Standard-Zoomfaktor vom Spielfeld. Die Ansicht wird verkleinert.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..). - Since:
- 0.28.0
-
rotateBy
Rotiert die Kamera um den angegebenen Winkel.Positive Werte drehen die Kamera gegen den Uhrzeigersinn, negative im Uhrzeigersinn.
- Parameters:
angle- Der Winkel (in Grad), um den die Kamera rotiert werden soll.- Werte > 0: Drehung gegen Uhrzeigersinn
- Werte < 0: Drehung im Uhrzeigersinn
- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
rotateTo
Setzt den Rotationswert der Kamera.rotateTo(90)dreht die Kamera beispiels um 90 Grad gegen den Uhrzeigersinn,rotateTo(-90)um 90 Grad im Uhrzeigersinn.- Parameters:
angle- Der Winkel (in Grad), um die Kamera von seiner Ausgangsposition bei Initialisierung rotiert werden soll.- Returns:
- Eine Referenz auf die eigene Instanz der Kamera, damit nach dem
Erbauer/Builder-Entwurfsmuster die Eigenschaften der Kamera durch
aneinander gekettete Setter festgelegt werden können, z. B.
camera.offset(..).focus(..).
-
rotation
Gibt die aktuelle Drehung zurück.- Returns:
- Die aktuelle Drehung.
-