Class Scene
java.lang.Object
de.pirckheimer_gymnasium.engine_pi.Scene
- All Implemented Interfaces:
ActorCreator,FrameUpdateListenerContainer,KeyListenerContainer,MouseClickListenerContainer,MouseWheelListenerContainer
public class Scene
extends Object
implements KeyListenerContainer, MouseClickListenerContainer, MouseWheelListenerContainer, FrameUpdateListenerContainer, ActorCreator
Mit Hilfe von Szenen können verschiedene Ansichten eines Spiels erstellt
werden, ohne beim Szenenwechsel alle grafischen Objekte entfernen und wieder
neu erzeugen zu müssen.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidFügt einen oder mehrereActor-Objekte der Szene hinzu.final voidGibt die Hintergrundfarbe zurück.final CameraGibt die Hauptebene dieser Szene aus.final VectorgetScene()getVisibleArea(Vector gameSizeInPixels) Gibt die sichtbare Fläche auf dem Hauptebene aus.final WorldHandlerGibt den WorldHandler der Hauptebene aus.final voidinvokeFrameUpdateListeners(double deltaSeconds) booleanGibt an, ob die Physik dieser Szene pausiert ist.final voidEntferne einen oder mehrereActor-Objekte aus der Szene.final voidremoveLayer(Layer layer) final voidrender(Graphics2D g, int width, int height) voidsetBackgroundColor(Color backgroundColor) Setzt die Hintergrundfarbe.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.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.ActorCreator
createCircle, createCircle, createCircle, createRectangle, createRectangle, createRectangle, createRegularPolygon, createRegularPolygon, createRegularPolygon, createRegularPolygon, createText, createText, createText, createTriangle, createTriangle, createTriangleMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.FrameUpdateListenerContainer
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeatMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.KeyListenerContainer
addKeyListener, removeKeyListenerMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.MouseClickListenerContainer
addMouseClickListener, removeMouseClickListenerMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.MouseWheelListenerContainer
addMouseWheelListener, removeMouseWheelListener
-
Constructor Details
-
Scene
public Scene()
-
-
Method Details
-
getScene
- Specified by:
getScenein interfaceActorCreator
-
getMainLayer
Gibt die Hauptebene dieser Szene aus.- Returns:
- Die Hauptebene dieser Szene.
-
step
@Internal public final void step(double deltaSeconds, Function<Runnable, Future<?>> invoker) throws InterruptedExceptionFührt auf allen Ebenen parallelisiert den World-Step aus.- Parameters:
deltaSeconds- Die Echtzeit, die seit dem letzten World-Step vergangen ist.- Throws:
InterruptedException
-
render
-
addLayer
-
removeLayer
-
getVisibleArea
Gibt die sichtbare Fläche auf dem Hauptebene aus.- Returns:
- Die sichtbare Fläche auf der Hauptebene
- See Also:
-
getCamera
-
getWorldHandler
Gibt den WorldHandler der Hauptebene aus.- Returns:
- WorldHandler der Hauptebene.
-
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
- box2d source code:
- 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
- box2d source code:
- 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.
-
getKeyListeners
- Specified by:
getKeyListenersin interfaceKeyListenerContainer
-
getMouseClickListeners
- Specified by:
getMouseClickListenersin interfaceMouseClickListenerContainer
-
getMouseWheelListeners
- Specified by:
getMouseWheelListenersin interfaceMouseWheelListenerContainer
-
getFrameUpdateListeners
- Specified by:
getFrameUpdateListenersin interfaceFrameUpdateListenerContainer- Returns:
- Liste der
FrameUpdateListener
-
invokeFrameUpdateListeners
-
getMousePosition
-
getBackgroundColor
Gibt die Hintergrundfarbe zurück.- Returns:
- Die Hintergrundfarbe.
-
setBackgroundColor
Setzt die Hintergrundfarbe.- Parameters:
backgroundColor- Die Hintergrundfarbe.
-