Class Scene
- All Implemented Interfaces:
ActorAdder,FrameUpdateListenerRegistration,KeyStrokeListenerRegistration,MouseClickListenerRegistration,MouseScrollListenerRegistration
- Direct Known Subclasses:
MainAnimation
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidFügt einen oder mehrereActor-Objekte der Szene hinzu.final voidFügt der Szene eine neue Ebene hinzu.Gibt die Hintergrundfarbe zurück.final CameraGibt die Kamera der Szene aus.Gibt die Schwerkraft, die momentan auf die Hauptebene wirkt, als Vektor in [N] bzw.Gibt die Hauptebene dieser Szene aus.final VectorGibt die Position der Maus in der Szene als Vektor in Meter relativ zum Koordinatensystem zurück.getScene()Gibt sich selbst zurück.getVisibleArea(Vector gameSizeInPixels) Gibt die sichtbare Fläche auf dem Hauptebene aus.final WorldHandlerGibt den WorldHandler der Hauptebene aus.final voidinvokeFrameUpdateListeners(double pastTime) booleanGibt an, ob die Physik dieser Szene pausiert ist.final voidEntferne einen oder mehrereActor-Objekte aus der Szene.final voidremoveLayer(Layer layer) Entfernt eine Ebene aus der Szene.final voidrender(Graphics2D g, int width, int height) voidsetBackgroundColor(Color color) Setzt die Hintergrundfarbe durch Angabe einesColor-Objekts.voidsetBackgroundColor(String color) Setzt die Hintergrundfarbe als Zeichenkette.voidSetzt den Fokus der Kamera auf eine Figur.voidsetGravity(double gravityX, double gravityY) Setzt die Schwerkraft durch zwei Eingabeparameter für die x- und y-Richtung, die auf alle Objekte innerhalb der Hauptebene der Szene wirkt.voidsetGravity(Vector gravity) Setzt die Schwerkraft als Vektor, die auf alle Objekte innerhalb der Hauptebene der Szene wirkt.voidSetzt die Schwerkraft, die auf der Erde wirkt: 9.81 [N] bzw.voidsetMeter(double pixelCount) Setzt die Anzahl an Pixel, die einem Meter entsprechen und setzt somit den „Zoom“ der Kamera.voidsetPhysicsPaused(boolean worldPaused) Setzt, ob die Engine-Physics für diese Szene pausiert sein soll.final voidFührt auf allen Ebenen parallelisiert den World-Step aus.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.actor.ActorAdder
addCircle, addCircle, addHexagon, addHexagon, addHexagon, addHexagon, addHexagon, addImage, addImage, addPentagon, addPentagon, addPentagon, addRectangle, addRectangle, addRectangle, addRegularPolygon, addRegularPolygon, addRegularPolygon, addRegularPolygon, addText, addText, addText, addText, addTriangle, addTriangle, addTriangle, addTriangle, addTriangle, addTriangleMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.FrameUpdateListenerRegistration
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeat, repeat, repeat, repeat, repeatMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.KeyStrokeListenerRegistration
addKeyStrokeListener, removeKeyStrokeListenerMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.MouseClickListenerRegistration
addMouseClickListener, removeMouseClickListenerMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.MouseScrollListenerRegistration
addMouseScrollListener, removeMouseScrollListener
-
Constructor Details
-
Scene
public Scene()Erzeugt eine neue Szene.Dabei wird eine neue Kamera und einen neue Ebene erzeugt. Die Ebene hat die Position
0
-
-
Method Details
-
getScene
Gibt sich selbst zurück.- Specified by:
getScenein interfaceActorAdder- Returns:
- Die Szene selbst.
-
getMainLayer
Gibt die Hauptebene dieser Szene aus.- Returns:
- Die Hauptebene dieser Szene.
-
step
@Internal public final void step(double pastTime, Function<Runnable, Future<?>> invoker) throws InterruptedExceptionFührt auf allen Ebenen parallelisiert den World-Step aus.- Parameters:
pastTime- Die Echtzeit, die seit dem letzten World-Step vergangen ist.- Throws:
InterruptedException
-
render
-
addLayer
Fügt der Szene eine neue Ebene hinzu.- Parameters:
layer- Die Ebene, die der Szene hinzugefügt werden soll.
-
removeLayer
Entfernt eine Ebene aus der Szene. -
getVisibleArea
Gibt die sichtbare Fläche auf dem Hauptebene aus.- Returns:
- Die sichtbare Fläche auf der Hauptebene
- See Also:
-
getCamera
Gibt die Kamera der Szene aus.- Returns:
- Die Kamera der Szene aus.
-
setMeter
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.Bei dieser Methode handelt es sich um eine Abkürzung. Statt
getCamera().setMeter(double)braucht nursetMeter(double)geschrieben werden.- Parameters:
pixelCount- Die neue Anzahl an Pixel, die einem Meter entsprechen.- See Also:
-
setFocus
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
Camera.setOffset(Vector)geändert werden. Soll das Fokusverhalten beendet werden, kann einfachnullübergeben werden, dann bleibt die Kamera bis auf Weiteres in der aktuellen Position.Bei dieser Methode handelt es sich um eine Abkürzung. Statt
getCamera().setFocus(Actor)braucht nursetFocus(Actor)geschrieben werden.- Parameters:
focus- Die Figur, die fokussiert werden soll.
-
getWorldHandler
Gibt den WorldHandler der Hauptebene aus.- Returns:
- WorldHandler der Hauptebene.
-
getGravity
Gibt die Schwerkraft, die momentan auf die Hauptebene wirkt, als Vektor in [N] bzw. [m/s^2] zurück.- Returns:
- Die Schwerkraft, die momentan auf die Hauptebene wirkt, als Vektor in [N] bzw. [m/s^2].
-
setGravity
Setzt die Schwerkraft als Vektor, die auf alle Objekte innerhalb der Hauptebene der Szene wirkt.- Parameters:
gravity- Die neue Schwerkraft alsVector. Die Einheit ist [N].- See Also:
- jbox2d source code:
- dynamics/World.java#L997-L1004 @box.2d b2_world.h#L312-L315
-
setGravity
Setzt die Schwerkraft durch zwei Eingabeparameter für die x- und y-Richtung, die auf alle Objekte innerhalb der Hauptebene der Szene wirkt.- Parameters:
gravityX- Die neue Schwerkraft, die in X-Richtung wirken soll. Die Einheit ist [N].gravityY- Die neue Schwerkraft, die in Y-Richtung wirken soll. Die Einheit ist [N].- See Also:
- jbox2d source code:
- dynamics/World.java#L997-L1004 @box.2d b2_world.h#L312-L315
-
setGravityOfEarth
Setzt die Schwerkraft, die auf der Erde wirkt: 9.81 [N] bzw. [m/s^2] nach unten (x: 0, y: -9.81).- See Also:
-
setPhysicsPaused
Setzt, ob die Engine-Physics für diese Szene pausiert sein soll.- Parameters:
worldPaused-false: Die Engine-Physik läuft normal.true: Die Engine-Physik läuft nicht. Das bedeutet u.A. keine Collision-Detection, keine Physik-Simulation etc., bis die Physik wieder mitsetPhysicsPaused(true)aktiviert wird.- See Also:
-
isPhysicsPaused
Gibt an, ob die Physik dieser Szene pausiert ist.- Returns:
true: Die Physik ist pausiert.false: Die Physik ist nicht pausiert.- See Also:
-
add
Fügt einen oder mehrereActor-Objekte der Szene hinzu.- Parameters:
actors- Ein oder mehrereActor-Objekte.
-
remove
Entferne einen oder mehrereActor-Objekte aus der Szene.- Parameters:
actors- Ein oder mehrereActor-Objekte.
-
getKeyStrokeListeners
- Specified by:
getKeyStrokeListenersin interfaceKeyStrokeListenerRegistration
-
getMouseClickListeners
- Specified by:
getMouseClickListenersin interfaceMouseClickListenerRegistration
-
getMouseScrollListeners
- Specified by:
getMouseScrollListenersin interfaceMouseScrollListenerRegistration
-
getFrameUpdateListeners
- Specified by:
getFrameUpdateListenersin interfaceFrameUpdateListenerRegistration- Returns:
- Liste der
FrameUpdateListener
-
invokeFrameUpdateListeners
-
getMousePosition
Gibt die Position der Maus in der Szene als Vektor in Meter relativ zum Koordinatensystem zurück.Der Positions-Vektor ist in der Einheit Meter angegeben und bezieht sich auf einen Punkt des zu Grunde liegenden Koordinatensystems.
- Returns:
- Die Position der Maus in der Szene als Vektor in Meter.
- See Also:
-
getBackgroundColor
Gibt die Hintergrundfarbe zurück.- Returns:
- Die Hintergrundfarbe.
-
setBackgroundColor
Setzt die Hintergrundfarbe durch Angabe einesColor-Objekts.- Parameters:
color- Die Hintergrundfarbe.
-
setBackgroundColor
Setzt die Hintergrundfarbe als Zeichenkette.- Parameters:
color- Ein Farbname, ein Farbalias (siehe Auflistung) oder eine Farbe in hexadezimaler Codierung (z. B.#ff0000).- See Also:
-