Package pi
Class Layer
java.lang.Object
pi.Layer
- All Implemented Interfaces:
FrameUpdateListenerRegistration,KeyStrokeListenerRegistration,MouseClickListenerRegistration,MouseScrollListenerRegistration
- Direct Known Subclasses:
HUD,PauseLayer
public class Layer
extends Object
implements KeyStrokeListenerRegistration, MouseClickListenerRegistration, MouseScrollListenerRegistration, FrameUpdateListenerRegistration
Eine Ebene bieten die Möglichkeit,
Actor-Objekte vor und
hinter der Zeichenebene mit zusätzlichen Eigenschaften (wie zum Beispiel
Parallaxe) zu rendern.- Author:
- Michael Andonie
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionactors()Gibt alle Figuren dieser Ebene, die bereits in der Physics-Engine registriert sind, als Liste zurück.voidFügt einen oder mehrereActor-Objekte der Ebene hinzu.Gibt alle Figuren, die bereits zur Ebene hinzugefügt und aber unter Umständen noch nicht in der Physics-Engine registriert wurden, als Liste zurück.doublevoidclear()Entfernt alleFigurenaus der Ebene.gravity()Gibt die Schwerkraft, die momentan auf diese Ebene wirkt, als Vektor in [N] bzw.voidgravity(double gravityX, double gravityY) Setzt die Schwerkraft durch zwei Eingabeparameter für die x- und y-Richtung, die auf alle Objekte innerhalb dieser Ebene wirkt.voidSetzt die Schwerkraft als Vektor, die auf alle Objekte innerhalb dieser Ebene wirkt.voidSetzt die Schwerkraft, die auf der Erde wirkt: 9.81 [N] bzw.booleanGibt an, ob dieses Layer gerade sichtbar ist.intGibt die Position des Layers aus.voidlayerPosition(int position) Setzt die Position dieser Ebene relativ zu anderen Ebenen.voidparallaxPosition(double parallaxX, double parallaxY) Setzt die Parallaxen-Bewegung für dieser Ebene:1ist keine Parallaxe (Bewegung exakt mit der Kamera) Werte zwischen0und1schaffen einen entfernten Effekt: Die Bewegung ist weniger als die der Kamera0bedeutet, die Bewegung der Kamera hat gar keinen Einfluss auf die Ebene. Negative Werte sorgen für Bewegung entgegen der Kamera Werte> 1verstärken die Bewegung der Kamera (z.B.voidparallaxRotation(double parallaxRotation) Setzt die Parallaxe der Rotation.voidparallaxZoom(double parallaxZoom) Setzt den Parallaxen-Zoom für diese Ebene:1: Normaler Zoom mit der Kamera0: Kamerazoom hat keinen Einfluss auf diese Ebene.0 < parallaxZoom < 1: Der Zoomeffekt tritt schwächer auf.parallaxZoom > 1: Der Zoomeffekt tritt stärker auf.parallaxZoom < 0: Der Zoomeffekt tritt betragsmäßig ähnlich und umgekehrt auf.final voidEntferne einen oder mehrereFigurenaus der Ebene.scene()Gibt die Szene, zu der diese Ebene gehört, zurück.voidtimeDistort(double timeDistort) Setzt einen Zeitverzerrungsfaktor.voidvisible(boolean visible) Setzt, ob diese Ebene sichtbar sein soll.visibleArea(Vector gameSizeInPixels) Gibt die derzeit auf dem Bildschirm sichtbare Fläche der Ebene an.voidvisibleHeight(double height, Vector gameSizeInPixels) Setzt den Kamerazoom exakt, sodass die sichtbare Höhe des sichtbaren Fensters einer bestimmten Länge entspricht.voidvisibleWidth(double width, Vector gameSizeInPixels) Setzt den Kamerazoom exakt, sodass die sichtbare Breite des sichtbaren Fensters einer bestimmten Länge entspricht.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface pi.event.FrameUpdateListenerRegistration
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeat, repeat, repeat, repeat, repeatMethods inherited from interface pi.event.KeyStrokeListenerRegistration
addKeyStrokeListener, removeKeyStrokeListenerMethods inherited from interface pi.event.MouseClickListenerRegistration
addMouseClickListener, removeMouseClickListenerMethods inherited from interface pi.event.MouseScrollListenerRegistration
addMouseScrollListener, removeMouseScrollListener
-
Constructor Details
-
Layer
Erstellt eine neue Ebene.
-
-
Method Details
-
scene
Gibt die Szene, zu der diese Ebene gehört, zurück.- Returns:
- Die Szene, zu der diese Ebene gehört.
-
layerPosition
Setzt die Position dieser Ebene relativ zu anderen Ebenen.- Parameters:
position- Die neue Position dieser Ebene. Je höher dieser Wert, desto weiter vorne ist sie.
-
layerPosition
Gibt die Position des Layers aus.- Returns:
- Der Wert, der die Position dieses Layers repräsentiert.
- See Also:
-
parallaxPosition
Setzt die Parallaxen-Bewegung für dieser Ebene:1ist keine Parallaxe (Bewegung exakt mit der Kamera)- Werte zwischen
0und1schaffen einen entfernten Effekt: Die Bewegung ist weniger als die der Kamera 0bedeutet, die Bewegung der Kamera hat gar keinen Einfluss auf die Ebene.- Negative Werte sorgen für Bewegung entgegen der Kamera
- Werte
> 1verstärken die Bewegung der Kamera (z.B. für Vordergrund).
- Parameters:
parallaxX- Der x-Wert der Parallaxen-Bewegung.parallaxY- Der y-Wert der Parallaxen-Bewegung.
-
parallaxZoom
Setzt den Parallaxen-Zoom für diese Ebene:1: Normaler Zoom mit der Kamera0: Kamerazoom hat keinen Einfluss auf diese Ebene.0 < parallaxZoom < 1: Der Zoomeffekt tritt schwächer auf.parallaxZoom > 1: Der Zoomeffekt tritt stärker auf.parallaxZoom < 0: Der Zoomeffekt tritt betragsmäßig ähnlich und umgekehrt auf.
-
parallaxRotation
Setzt die Parallaxe der Rotation. Diese Ebene wird um[kamerarotation] * parallaxRotationrotiert.- Parameters:
parallaxRotation- Die Rotationsparallaxe.
-
timeDistort
Setzt einen Zeitverzerrungsfaktor. Die Zeit in der Physiksimulation vergeht standardmäßig in Echtzeit, kann allerdings verzerrt werden.- Parameters:
timeDistort- Zeit in der Simulation = Echtzeit * Verzerrungsfaktor
- Werte
>1lassen die Zeit schneller vergehen - Werte
<1lassen die Zeit langsamer vergehen 1lässt die Zeit in Echtzeit vergehen- Werte
<=0sind nicht erlaubt
- Werte
-
gravity
Setzt die Schwerkraft als Vektor, die auf alle Objekte innerhalb dieser Ebene wirkt.- Parameters:
gravity- Die neue Schwerkraft alsVector. Die Einheit ist [N] bzw. [m/s^2].- See Also:
- JBox2D source code:
- dynamics/World.java#L997-L1004
- Box2D source code:
- b2_world.h#L312-L315
-
gravity
Setzt die Schwerkraft durch zwei Eingabeparameter für die x- und y-Richtung, die auf alle Objekte innerhalb dieser Ebene wirkt.- Parameters:
gravityX- Die neue Schwerkraft, die in X-Richtung wirken soll. Die Einheit ist [N] bzw. [m/s^2].gravityY- Die neue Schwerkraft, die in Y-Richtung wirken soll. Die Einheit ist [N] bzw. [m/s^2].- See Also:
- JBox2D source code:
- dynamics/World.java#L997-L1004
- Box2D source code:
- b2_world.h#L312-L315
-
gravityOfEarth
Setzt die Schwerkraft, die auf der Erde wirkt: 9.81 [N] bzw. [m/s^2] nach unten (x: 0, y: -9.81).- See Also:
-
gravity
Gibt die Schwerkraft, die momentan auf diese Ebene wirkt, als Vektor in [N] bzw. [m/s^2] zurück.- Returns:
- Die Schwerkraft, die momentan auf diese Ebene wirkt, als Vektor in [N] bzw. [m/s^2].
-
visible
Setzt, ob diese Ebene sichtbar sein soll.- Parameters:
visible-true: Die Ebene ist sichtbar, wenn es an einer Szene angemeldet ist.false: Die Ebene ist auch dann nicht sichtbar, wenn es an einer Szene angemeldet ist.- See Also:
-
isVisible
Gibt an, ob dieses Layer gerade sichtbar ist.- Returns:
true: Die Ebene ist sichtbar.false: Die Ebene ist nicht sichtbar.- See Also:
-
add
Fügt einen oder mehrereActor-Objekte der Ebene hinzu.- Parameters:
actors- Ein oder mehrereActor-Objekte.
-
remove
Entferne einen oder mehrereFigurenaus der Ebene.- Parameters:
actors- Ein oder mehrereActor-Objekte.
-
clear
Entfernt alleFigurenaus der Ebene.Diese Methode durchläuft die Liste der Figuren und entfernt jeden einzelnen von der Ebene.
- Since:
- 0.42.0
-
actors
Gibt alle Figuren dieser Ebene, die bereits in der Physics-Engine registriert sind, als Liste zurück.Die Figuren werden erst mit Verzögerung durch die Methode
FrameUpdateListenerRegistration.defer(Runnable)zur Ebene hinzugefügt. Sie sind also nicht sofort nach dem Hinzufügen zur Ebene über diese Methode abrufbar.- Returns:
- Alle Figuren dieser Ebene, die bereits in der Physics-Engine registriert sind.
- Since:
- 0.37.0
- See Also:
-
addedActors
Gibt alle Figuren, die bereits zur Ebene hinzugefügt und aber unter Umständen noch nicht in der Physics-Engine registriert wurden, als Liste zurück.- Returns:
- Alle Figuren, die bereits zur Ebene hinzugefügt und aber unter Umständen noch nicht in der Physics-Engine registriert
- Since:
- 0.37.0
- See Also:
-
visibleArea
Gibt die derzeit auf dem Bildschirm sichtbare Fläche der Ebene an.- Returns:
- Die sichtbare Fläche mit Angaben in Meter.
- See Also:
-
visibleWidth
Setzt den Kamerazoom exakt, sodass die sichtbare Breite des sichtbaren Fensters einer bestimmten Länge entspricht.- Parameters:
width- Die Breite in Meter, auf die die Kamera im Fenster exakt zu setzen ist.- See Also:
-
visibleHeight
Setzt den Kamerazoom exakt, sodass die sichtbare Höhe des sichtbaren Fensters einer bestimmten Länge entspricht.- Parameters:
height- Die Höhe in Meter, auf die die Kamera im Fenster exakt zu setzen ist.- See Also:
-
calculatePixelPerMeter
- Returns:
- Die Anzahl an Pixel, die ein Meter misst.
-
frameUpdateListeners
- Specified by:
frameUpdateListenersin interfaceFrameUpdateListenerRegistration- Returns:
- Liste der
FrameUpdateListener
-
keyStrokeListeners
- Specified by:
keyStrokeListenersin interfaceKeyStrokeListenerRegistration
-
mouseClickListeners
- Specified by:
mouseClickListenersin interfaceMouseClickListenerRegistration
-
mouseScrollListeners
- Specified by:
mouseScrollListenersin interfaceMouseScrollListenerRegistration
-