Class Scene
java.lang.Object
de.pirckheimer_gymnasium.engine_pi.Scene
- All Implemented Interfaces:
ActorAdder,FrameUpdateListenerRegistration,KeyStrokeListenerRegistration,MouseClickListenerRegistration,MouseScrollListenerRegistration
- Direct Known Subclasses:
MainAnimation
public class Scene
extends Object
implements KeyStrokeListenerRegistration, MouseClickListenerRegistration, MouseScrollListenerRegistration, FrameUpdateListenerRegistration, ActorAdder
Mithilfe 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 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()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) final voidrender(Graphics2D g, int width, int height) voidsetBackgroundColor(Color color) Setzt die Hintergrundfarbe.voidsetBackgroundColor(String color) Setzt die Hintergrundfarbe als Zeichenkette.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.ActorAdder
addCircle, addCircle, addCircle, 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, 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()
-
-
Method Details
-
getScene
- Specified by:
getScenein interfaceActorAdder
-
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
-
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.
-
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
- 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.
-
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.- 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:
-