Package ea.actor
Class Actor
java.lang.Object
ea.actor.Actor
- All Implemented Interfaces:
FrameUpdateListenerContainer
,KeyListenerContainer
,MouseClickListenerContainer
,MouseWheelListenerContainer
- Direct Known Subclasses:
Animation
,Geometry
,Image
,StatefulAnimation
,TileContainer
public abstract class Actor
extends Object
implements KeyListenerContainer, MouseClickListenerContainer, MouseWheelListenerContainer, FrameUpdateListenerContainer
Jedes Objekt auf der Zeichenebene ist ein Actor.
Dies ist die absolute Superklasse aller grafischen Objekte. Umgekehrt kann somit jedes grafische Objekt die folgenden Methoden nutzen.
Dies ist die absolute Superklasse aller grafischen Objekte. Umgekehrt kann somit jedes grafische Objekt die folgenden Methoden nutzen.
- Author:
- Michael Andonie, Niklas Keller
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal void
addCollisionListener
(CollisionListener<Actor> listener) Meldet einen neuenCollisionListener
an, der auf alle Kollisionen reagiert, die dieser Actor mit seiner Umwelt erlebt.final <E extends Actor>
voidaddCollisionListener
(E collider, CollisionListener<E> listener) Meldet einen neuenCollisionListener
an, der auf alle Kollisionen zwischen diesem Actor und dem Actorcollider
reagiert.final <E extends Actor>
voidaddCollisionListener
(Class<E> clazz, CollisionListener<E> listener) Meldet einen neuenCollisionListener
an, der auf alle Kollisionen reagiert, die dieser Actor mit seiner Umwelt erlebt.final void
addMountListener
(Runnable listener) Fügt einen Listener hinzu, der ausgeführt wird, sobald das Objekt angemeldet wurde.final void
addUnmountListener
(Runnable listener) Fügt einen Listener hinzu, der ausgeführt wird, sobald das Objekt abgemeldet wurde.final ValueAnimator<Float>
animateOpacity
(float time, float toOpacityValue) Animiert die Opacity dieses Actors über einen festen Zeitraum: Beginnend von der aktuellen Opacity, ändert sie sich "smooth" (mitEaseInOutFloat
Interpolation) vom aktuellen Opacity-Wert (die Ausgabe vongetOpacity()
bis hin zum angebebenen Opacity-Wert.final ValueAnimator<Float>
animateParticle
(float lifetime) Setzt den BodyType auf PARTICLE und animiert das Partikel, sodass es ausblasst und nach der Lebenszeit komplett verschwindet.final void
applyForce
(Vector newton) Wirkt eine Kraft auf den Schwerpunkt des Objekts.final void
applyForce
(Vector newton, Vector globalPoint) Wirkt eine Kraft auf einem bestimmten Punkt in der Welt.final void
applyImpulse
(Vector newtonSeconds) Wirkt einen Impuls auf den Schwerpunkt des Objekts.final void
applyImpulse
(Vector newtonSeconds, Vector globalPoint) Wirkt einen Impuls an einem bestimmten Point in der Welt.final void
applyTorque
(float torque) Wirkt ein Drehmoment auf das Objekt.final boolean
Prüft, ob ein bestimmter Punkt innerhalb des Objekts liegt.final DistanceJoint
createDistanceJoint
(Actor other, Vector anchorRelativeToThis, Vector anchorRelativeToOther) Erstellt einen Distance-Joint zwischen diesem und einem weiterenActor
-Objekt.final PrismaticJoint
createPrismaticJoint
(Actor other, Vector anchor, float axisAngle) final RevoluteJoint
createRevoluteJoint
(Actor other, Vector relativeAnchor) Erstellt einen Revolute-Joint zwischen dem zugehörigenActor
-Objekt und einem weiteren.final RopeJoint
createRopeJoint
(Actor other, Vector relativeAnchor, Vector relativeAnchorOther, float ropeLength) Erstellt einen Rope-Joint zwischen diesem und einem weiterenActor
-Objekt.final WeldJoint
createWeldJoint
(Actor other, Vector anchorRelativeToThis, Vector anchorRelativeToOther) Erstellt einen Weld-Joint zwischen diesem und einem weiterenActor
-Objekt.final float
final float
Gibt die aktuelle Drehgeschwindigkeit aus.final BodyType
Gibt aus, was für ein Physics-Typ dieses Objekt momentan ist.final Vector
Gibt den Mittelpunkt des Objektes in der Scene aus.final Vector
final List<CollisionEvent<Actor>>
final float
Gibt die aktuelle Dichte des Objekts an.final float
Gibt den Reibungskoeffizienten für dieses Objekt aus.final float
Gibt den aktuellen Gravitationsfaktor des Objekts an.final EventListeners<KeyListener>
final Layer
getLayer()
final int
Gibt die Layer-Position zurück.final float
final float
getMass()
Gibt die aktuelle Masse des Ziel-Objekts aus.final EventListeners<MouseClickListener>
final EventListeners<MouseWheelListener>
final float
Gibt die aktuelle Opacity des Raumes zurück.final ea.internal.physics.PhysicsHandler
Gibt den aktuellen, internen Physics-Handler aus.final Vector
Gibt die Position dieses Actor-Objekts aus.final float
final float
Gibt den Winkel aus, um den das Objekt derzeit rotiert ist.final Vector
Gibt die Geschwindigkeit aus, mit der sich dieses Objekt gerade (also in diesem Frame) bewegt.final float
getX()
Gibt die x-Koordinate der linken oberen Ecke zurück.final float
getY()
Gibt die y-Koordinate der linken unteren Ecke zurück.final boolean
Testet, ob das Objekt "steht".final boolean
final boolean
Gibt an, ob die Rotation dieses Objekts derzeit innerhalb der physikalischen Simulation blockiert ist.final boolean
Gibt an, ob das Objekt sichtbar ist.final void
moveBy
(float dX, float dY) Verschiebt das Objekt.
Hierbei wird nichts anderes gemacht, alsmove(new Vector(dx, dy))
auszuführen.final void
Verschiebt das Objekt ohne Bedingungen auf der Zeichenebene.final boolean
Prüft, ob dieses Objekt sich mit einem weiteren Objekt schneidet.
Für die Überprüfung des Überlappens werden die internen Collider genutzt.final void
remove()
final void
removeMountListener
(Runnable listener) Entfernt einen Listener, der ausgeführt wird, sobald das Objekt angemeldet wurde.final void
removeUnmountListener
(Runnable listener) Entfernt einen Listener, der ausgeführt wird, sobald das Objekt abgemeldet wurde.abstract void
render
(Graphics2D g, float pixelPerMeter) Rendert das Objekt am Ursprung.final void
renderBasic
(Graphics2D g, ea.internal.Bounds r, float pixelPerMeter) Die Basiszeichenmethode.
Sie schließt eine Fallabfrage zur Sichtbarkeit ein.final void
Versetzt das Objekt - unabhängig von aktuellen Kräften und Geschwindigkeiten - in Ruhe.final void
rotateBy
(float degree) Rotiert das Objekt.final void
setAngularDamping
(float damping) final void
setAngularVelocity
(float rotationsPerSecond) Setzt die Drehgeschwindigkeit "hart" für dieses Objekt.final void
setBodyType
(BodyType type) Setzt das allgemeine Verhalten dieses Objekts im Rahmen der Physics-Engine (und Collision Detection) haben soll.final void
setCenter
(float x, float y) Verschiebt die Actor-Figur so, dass ihr Mittelpunkt die eingegebenen Koordinaten hat.final void
Verschiebt die Actor-Figur so, dass ihr Mittelpunkt die eingegebenen Koordinaten hat.
Diese Methode arbeitet mit dem Mittelpunkt des das Objekt abdeckenden Bounding-Rechtecks durch den Aufruf der MethodegetCenter()
.final void
setDensity
(float densityInKgProQM) Setzt die Dichte des Objekts neu.final void
setFixture
(Supplier<ea.internal.physics.FixtureData> fixtureSupplier) Ändert die Fixture des Actors neu in eine einzige alternative Fixture.final void
setFixtures
(String shapeCode) Setzt neue Shapes für das Objekt.final void
setFixtures
(Supplier<List<ea.internal.physics.FixtureData>> fixturesSupplier) Ändert die Fixtures dieses Actors in eine Reihe neuer Fixtures.final void
setFriction
(float friction) Setzt den Reibungskoeffizient für das Objekt.final void
setGravityScale
(float factor) Setzt den Gravitationsfaktor, normalerweise im Bereich [0, 1].final void
setLayerPosition
(int position) Setzt die Layer-Position dieses Objekts.final void
setLinearDamping
(float damping) final void
setOpacity
(float opacity) Setzt die Sichtbarkeit des Objekts.final void
setPhysicsHandler
(ea.internal.physics.PhysicsHandler handler) final void
setPosition
(float x, float y) Setzt die Position desActor
-Objektes gänzlich neu auf der Zeichenebene.final void
setPosition
(Vector position) Setzt die Position des Objektes gänzlich neu auf der Zeichenebene.final void
setRestitution
(float restitution) final void
setRotation
(float degree) Setzt den Rotationswert des Objekts.final void
setRotationLocked
(boolean rotationLocked) Setzt, ob im Rahmen der physikalischen Simulation die Rotation dieses Objekts blockiert werden soll.final void
setVelocity
(Vector velocityInMPerS) Setzt die Geschwindigkeit "hart" für dieses Objekt.final void
setVisible
(boolean visible) Setzt die Sichtbarkeit des Objektes.final void
setX
(float x) Setzt die x-Koordinate der Position des Objektes gänzlich neu auf der Zeichenebene.final void
setY
(float y) Setzt die y-Koordinate der Position des Objektes gänzlich neu auf der Zeichenebene.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ea.event.FrameUpdateListenerContainer
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeat
Methods inherited from interface ea.event.KeyListenerContainer
addKeyListener, removeKeyListener
Methods inherited from interface ea.event.MouseClickListenerContainer
addMouseClickListener, removeMouseClickListener
Methods inherited from interface ea.event.MouseWheelListenerContainer
addMouseWheelListener, removeMouseWheelListener
-
Constructor Details
-
Actor
Erstellt ein neues Objekt.- Parameters:
defaultFixtureSupplier
- Ein Supplier, der die Default-Shape für dieses Objekt generiert. Die ist in der Regel ein optimal gelegtes Rechteck parallel zu den Axen bei Rotationswinkel 0.
-
-
Method Details
-
addMountListener
Fügt einen Listener hinzu, der ausgeführt wird, sobald das Objekt angemeldet wurde.- Parameters:
listener
- Listener-Implementierung
-
removeMountListener
Entfernt einen Listener, der ausgeführt wird, sobald das Objekt angemeldet wurde.- Parameters:
listener
- Listener-Implementierung
-
addUnmountListener
Fügt einen Listener hinzu, der ausgeführt wird, sobald das Objekt abgemeldet wurde.- Parameters:
listener
- Listener-Implementierung
-
removeUnmountListener
Entfernt einen Listener, der ausgeführt wird, sobald das Objekt abgemeldet wurde.- Parameters:
listener
- Listener-Implementierung
-
setLayerPosition
@API public final void setLayerPosition(int position) Setzt die Layer-Position dieses Objekts. Je größer, desto weiter vorne wird das Objekt gezeichnet.- Parameters:
position
- Layer-Index- See Also:
-
getLayerPosition
@API public final int getLayerPosition()Gibt die Layer-Position zurück. Je größer, desto weiter vorne wird das Objekt gezeichnet.- Returns:
- Layer-Index
- See Also:
-
setVisible
@API public final void setVisible(boolean visible) Setzt die Sichtbarkeit des Objektes.- Parameters:
visible
- Ob das Objekt isVisible sein soll oder nicht.
Ist dieser Wertfalse
, so wird es nicht gezeichnet.- See Also:
-
isVisible
@API public final boolean isVisible()Gibt an, ob das Objekt sichtbar ist.- Returns:
- Ist
true
, wenn das Objekt zurzeit sichtbar ist. - See Also:
-
getOpacity
@API public final float getOpacity()Gibt die aktuelle Opacity des Raumes zurück.- Returns:
- Gibt die aktuelle Opacity des Raumes zurück.
-
setOpacity
@API public final void setOpacity(float opacity) Setzt die Sichtbarkeit des Objekts.- Parameters:
opacity
-0.0f
entspricht einem komplett durchsichtigen (transparenten) Objekt.1.0f
entspricht einem undurchsichtigem Objekt.
-
contains
Prüft, ob ein bestimmter Punkt innerhalb des Objekts liegt.- Parameters:
p
- Der Punkt, der auf Inhalt im Objekt getestet werden soll.- Returns:
true
, wenn der Point innerhalb des Objekts liegt.
-
overlaps
Prüft, ob dieses Objekt sich mit einem weiteren Objekt schneidet.
Für die Überprüfung des Überlappens werden die internen Collider genutzt. Je nach Genauigkeit der Collider kann die Überprüfung unterschiedlich befriedigend ausfallen. Die Collider können im Debug-Modus der Engine eingesehen werden.- Parameters:
other
- Ein weiteres Actor-Objekt.- Returns:
true
, wenn dieses Actor-Objekt sich mitanother
schneidet. Sonstfalse
.- See Also:
-
getCollisions
-
setBodyType
Setzt das allgemeine Verhalten dieses Objekts im Rahmen der Physics-Engine (und Collision Detection) haben soll. Eine Erläuterung der verschiedenen Verhaltenstypen finden sich in der Dokumentation vonBodyType
.- Parameters:
type
- Der neueBodyType
, für den Actor.- See Also:
-
getBodyType
Gibt aus, was für ein Physics-Typ dieses Objekt momentan ist.- Returns:
- der Physics-Typ, der das entsprechende
Actor
-Objekt momentan ist. - See Also:
-
setFixtures
Setzt neue Shapes für das Objekt. Hat Einfluss auf die Physik (Kollisionen, Masse, etc.)- Parameters:
shapeCode
- der Shape-Code- See Also:
-
FixtureBuilder.fromString(String)
setFixture(Supplier)
setFixtures(Supplier)
-
setFixture
Ändert die Fixture des Actors neu in eine einzige alternative Fixture.- Parameters:
fixtureSupplier
- Der Supplier, der die neue Shape des Objektes ausgibt.- See Also:
-
setFixtures
@API public final void setFixtures(Supplier<List<ea.internal.physics.FixtureData>> fixturesSupplier) Ändert die Fixtures dieses Actors in eine Reihe neuer Fixtures.- Parameters:
fixturesSupplier
- Ein Supplier, der eine Liste mit allen neuen Shapes für den Actor angibt.- See Also:
-
renderBasic
Die Basiszeichenmethode.
Sie schließt eine Fallabfrage zur Sichtbarkeit ein.- Parameters:
g
- Das zeichnende Graphics-Objektr
- Das Bounds, dass die Kameraperspektive repräsentiert.
Hierbei soll zunächst getestet werden, ob das Objekt innerhalb der Kamera liegt, und erst dann gezeichnet werden.pixelPerMeter
- Pixel pro Meter.
-
getPhysicsHandler
@Internal public final ea.internal.physics.PhysicsHandler getPhysicsHandler()Gibt den aktuellen, internen Physics-Handler aus.- Returns:
- der aktuellen, internen Physics-Handler aus.
-
addCollisionListener
@API public final <E extends Actor> void addCollisionListener(E collider, CollisionListener<E> listener) Meldet einen neuenCollisionListener
an, der auf alle Kollisionen zwischen diesem Actor und dem Actorcollider
reagiert.- Type Parameters:
E
- Typ-Parameter. SOllte im Regelfall exakt die Klasse voncollider
sein. Dies ermöglicht die Nutzung von spezifischen Methoden aus spezialisierteren Klassen der Actor-Hierarchie.- Parameters:
listener
- Der Listener, der bei Kollisionen zwischen dem ausführenden Actor undcollider
informiert werden soll.collider
- Ein weiteres Actor-Objekt.- See Also:
-
addCollisionListener
@API public final <E extends Actor> void addCollisionListener(Class<E> clazz, CollisionListener<E> listener) Meldet einen neuenCollisionListener
an, der auf alle Kollisionen reagiert, die dieser Actor mit seiner Umwelt erlebt.- Type Parameters:
E
- Typ des anderen Objekts bei Kollisionen.- Parameters:
clazz
- Typ des anderen Objekts bei Kollisionen.listener
- Der Listener, der bei Kollisionen informiert werden soll, die der ausführende Actor mit allen anderen Objekten der Scene erlebt.- See Also:
-
addCollisionListener
Meldet einen neuenCollisionListener
an, der auf alle Kollisionen reagiert, die dieser Actor mit seiner Umwelt erlebt.- Parameters:
listener
- Der Listener, der bei Kollisionen informiert werden soll, die der ausführende Actor mit allen anderen Objekten der Szene erlebt.- See Also:
-
render
Rendert das Objekt am Ursprung.- Die Position ist (0|0).
- Die Roation ist 0.
- Parameters:
g
- Das zeichnende Graphics-ObjektpixelPerMeter
- Pixel pro Meter.
-
setPhysicsHandler
@Internal public final void setPhysicsHandler(ea.internal.physics.PhysicsHandler handler) -
getLayer
-
remove
public final void remove() -
getKeyListeners
- Specified by:
getKeyListeners
in interfaceKeyListenerContainer
-
getMouseClickListeners
- Specified by:
getMouseClickListeners
in interfaceMouseClickListenerContainer
-
getMouseWheelListeners
- Specified by:
getMouseWheelListeners
in interfaceMouseWheelListenerContainer
-
getFrameUpdateListeners
- Specified by:
getFrameUpdateListeners
in interfaceFrameUpdateListenerContainer
-
setRotationLocked
@API public final void setRotationLocked(boolean rotationLocked) Setzt, ob im Rahmen der physikalischen Simulation die Rotation dieses Objekts blockiert werden soll.
Das Objekt kann in jedem Fall weiterhin über einen direkten Methodenaufruf rotiert werden. Der folgende Code ist immer wirksam, unabhängig davon, ob die Rotation im Rahmen der physikalischen Simulation blockiert ist:
actor.getPosition.rotate(4.31f);
- Parameters:
rotationLocked
- Ist dieser Werttrue
, rotiert sich dieses Objekts innerhalb der physikalischen Simulation nicht mehr. Ist dieser Wertfalse
, rotiert sich dieses Objekt innerhalb der physikalsichen Simulation.- See Also:
-
isRotationLocked
@API public final boolean isRotationLocked()Gibt an, ob die Rotation dieses Objekts derzeit innerhalb der physikalischen Simulation blockiert ist.- Returns:
true
, wenn die Rotation dieses Objekts derzeit innerhalb der physikalischen Simulation blockiert ist.- See Also:
-
getMass
@API public final float getMass()Gibt die aktuelle Masse des Ziel-Objekts aus. Die Form bleibt unverändert, daher ändert sich die Dichte in der Regel.- Returns:
- Die Masse des Ziel-Objekts in [kg].
-
setDensity
@API public final void setDensity(float densityInKgProQM) Setzt die Dichte des Objekts neu. Die Form bleibt dabei unverändert, daher ändert sich die Masse in der Regel.- Parameters:
densityInKgProQM
- die neue Dichte des Objekts in [kg/m^2]
-
getDensity
@API public final float getDensity()Gibt die aktuelle Dichte des Objekts an.- Returns:
- Die aktuelle Dichte des Objekts in [kg/m^2].
-
setGravityScale
@API public final void setGravityScale(float factor) Setzt den Gravitationsfaktor, normalerweise im Bereich [0, 1].- Parameters:
factor
- Gravitationsfaktor
-
getGravityScale
@API public final float getGravityScale()Gibt den aktuellen Gravitationsfaktor des Objekts an.- Returns:
- Gravitationsfaktor
-
setFriction
@API public final void setFriction(float friction) Setzt den Reibungskoeffizient für das Objekt. Hat Einfluss auf die Bewegung des Objekts.- Parameters:
friction
- Der Reibungskoeffizient. In der Regel im Bereich [0; 1].- See Also:
-
getFriction
@API public final float getFriction()Gibt den Reibungskoeffizienten für dieses Objekt aus.- Returns:
- Der Reibungskoeffizient des Objekts. Ist in der Regel (in der Realität) ein Wert im Bereich [0; 1].
- See Also:
-
setAngularDamping
@API public final void setAngularDamping(float damping) -
getAngularDamping
@API public final float getAngularDamping() -
setLinearDamping
@API public final void setLinearDamping(float damping) -
getLinearDamping
@API public final float getLinearDamping() -
setVelocity
Setzt die Geschwindigkeit "hart" für dieses Objekt. Damit wird die aktuelle Bewegung (nicht aber die Rotation) des Objekts ignoriert und hart auf den übergebenen Wert gesetzt.- Parameters:
velocityInMPerS
- Die Geschwindigkeit, mit der sich dieses Objekt ab sofort bewegen soll. In [m / s]- See Also:
-
getVelocity
Gibt die Geschwindigkeit aus, mit der sich dieses Objekt gerade (also in diesem Frame) bewegt.- Returns:
- Die Geschwindigkeit, mit der sich dieses Objekt gerade (also in diesem Frame) bewegt. In [m / s]
- See Also:
-
getAngularVelocity
@API public final float getAngularVelocity()Gibt die aktuelle Drehgeschwindigkeit aus.- Returns:
- Die aktuelle Drehgeschwindigkeit.
- See Also:
-
setAngularVelocity
@API public final void setAngularVelocity(float rotationsPerSecond) Setzt die Drehgeschwindigkeit "hart" für dieses Objekt. Damit wird die aktuelle Rotation des Objekts ignoriert und hart auf den übergebenen Wert gesetzt.- Parameters:
rotationsPerSecond
- Die Geschwindigkeit, mit der sich dieses Objekt ab sofort bewegen soll. In [Umdrehnungen / s]- See Also:
-
setRestitution
@API public final void setRestitution(float restitution) -
getRestitution
@API public final float getRestitution() -
applyTorque
@API public final void applyTorque(float torque) Wirkt ein Drehmoment auf das Objekt.- Parameters:
torque
- Drehmoment, der auf das Ziel-Objekt wirken soll. In [N*m]
-
applyForce
Wirkt eine Kraft auf den Schwerpunkt des Objekts.- Parameters:
newton
- Kraftvektor in [N]
-
applyForce
Wirkt eine Kraft auf einem bestimmten Punkt in der Welt.- Parameters:
newton
- Kraft in [N]globalPoint
- Ort auf der Zeichenebene, an dem die Kraft wirken soll.
-
applyImpulse
Wirkt einen Impuls auf den Schwerpunkt des Objekts.- Parameters:
newtonSeconds
- Impuls in [Ns], der auf den Schwerpunkt wirken soll
-
applyImpulse
Wirkt einen Impuls an einem bestimmten Point in der Welt.- Parameters:
newtonSeconds
- Impuls in [Ns]globalPoint
- Ort auf der Zeichenebene, an dem der Impuls wirken soll
-
resetMovement
@API public final void resetMovement()Versetzt das Objekt - unabhängig von aktuellen Kräften und Geschwindigkeiten - in Ruhe. Damit werden alle (physikalischen) Bewegungen des Objektes zurückgesetzt. Sollte eine konstante Schwerkraft (oder etwas Vergleichbares) existieren, wo wird dieses Objekt jedoch möglicherweise aus der Ruhelage wieder in Bewegung versetzt. -
isGrounded
@API public final boolean isGrounded()Testet, ob das Objekt "steht". Diese Funktion ist below anderem hilfreich für die Entwicklung von Platformern (z.B. wenn der Spieler nur springen können soll, wenn er auf dem Boden steht).
Diese Funktion ist eine Heuristik, sprich sie ist eine Annäherung. In einer Physik-Simulation ist die Definition von "stehen" nicht unbedingt einfach. Hier bedeutet es folgendes:
Ein Objekt steht genau dann, wenn alle Eigenschaften erfüllt sind:- Es ist ein dynamisches Objekt.
- Direkt below der Mitte der minimalen AABB, die das gesamte Objekt umspannt, befindet sich ein statisches Objekt.
- Returns:
true
, falls das Objekt auf einem anderen Objekt steht, siehe Beschreibung.
-
createRevoluteJoint
Erstellt einen Revolute-Joint zwischen dem zugehörigenActor
-Objekt und einem weiteren.Definition Revolute-Joint
Verbindet zwei
Actor
-Objekte untrennbar an einem Anchor-Point. Die Objekte können sich ab sofort nur noch relativ zueinander drehen.- Parameters:
other
- Das zweiteActor
-Objekt, das ab sofort mit dem zugehörigenActor
-Objekt über einenRevoluteJoint
verbunden sein soll.relativeAnchor
- Der Ankerpunkt relativ zu diesem Actor. Es wird davon ausgegangen, dass beide Objekte bereits korrekt positioniert sind.- Returns:
- Ein
Joint
-Objekt, mit dem der Joint weiter gesteuert werden kann. - See Also:
-
RevoluteJoint
-
createRopeJoint
@API public final RopeJoint createRopeJoint(Actor other, Vector relativeAnchor, Vector relativeAnchorOther, float ropeLength) Erstellt einen Rope-Joint zwischen diesem und einem weiterenActor
-Objekt.- Parameters:
other
- Das zweiteActor
-Objekt, das ab sofort mit dem zugehörigenActor
-Objekt über einenRopeJoint
verbunden sein soll.relativeAnchor
- Der Ankerpunkt für das zugehörigeActor
-Objekt. Der erste Befestigungspunkt des Lassos. Angabe relativ zur Position vom zugehörigen Objekt.relativeAnchorOther
- Der Ankerpunkt für das zweiteActor
-Objekt, alsoother
. Der zweite Befestigungspunkt des Lassos. Angabe relativ zur Position vom zugehörigen Objekt.ropeLength
- Die Länge des Lassos. Dies ist ab sofort die maximale Länge, die die beiden Ankerpunkte der Objekte voneinader entfernt sein können.- Returns:
- Ein
Joint
-Objekt, mit dem der Joint weiter gesteuert werden kann. - See Also:
-
RopeJoint
-
createPrismaticJoint
-
createDistanceJoint
@API public final DistanceJoint createDistanceJoint(Actor other, Vector anchorRelativeToThis, Vector anchorRelativeToOther) Erstellt einen Distance-Joint zwischen diesem und einem weiterenActor
-Objekt.- Parameters:
other
- Das zweiteActor
-Objekt, das ab sofort mit dem zugehörigenActor
-Objekt über einenDistanceJoint
verbunden sein soll.anchorRelativeToThis
- Der Ankerpunkt für das zugehörigeActor
-Objekt. Der erste Befestigungspunkt des Joints. Angabe relativ zuthis
also absolut.anchorRelativeToOther
- Der Ankerpunkt für das zweiteActor
-Objekt, alsoother
. Der zweite Befestigungspunkt des Joints. Angabe relativ zuother
- Returns:
- Ein
Joint
-Objekt, mit dem der Joint weiter gesteuert werden kann. - See Also:
-
DistanceJoint
-
createWeldJoint
@API public final WeldJoint createWeldJoint(Actor other, Vector anchorRelativeToThis, Vector anchorRelativeToOther) Erstellt einen Weld-Joint zwischen diesem und einem weiterenActor
-Objekt.- Parameters:
other
- Das zweiteActor
-Objekt, das ab sofort mit dem zugehörigenActor
-Objekt über einenDistanceJoint
verbunden sein soll.anchorRelativeToThis
- Der Ankerpunkt für das zugehörigeActor
-Objekt. Der erste Befestigungspunkt des Joints. Angabe relativ zuthis
also absolut.anchorRelativeToOther
- Der Ankerpunkt für das zweiteActor
-Objekt, alsoother
. Der zweite Befestigungspunkt des Joints. Angabe relativ zuother
- Returns:
- Ein
Joint
-Objekt, mit dem der Joint weiter gesteuert werden kann. - See Also:
-
DistanceJoint
-
setPosition
@API public final void setPosition(float x, float y) Setzt die Position desActor
-Objektes gänzlich neu auf der Zeichenebene. Das Setzen ist technisch gesehen eine Verschiebung von der aktuellen Position an die neue.- Parameters:
x
- neuegetX
-Koordinatey
- neuegetY
-Koordinate- See Also:
-
setPosition
Setzt die Position des Objektes gänzlich neu auf der Zeichenebene. Das Setzen ist technisch gesehen eine Verschiebung von der aktuellen Position an die neue.- Parameters:
position
- Der neue Zielpunkt- See Also:
-
moveBy
Verschiebt das Objekt ohne Bedingungen auf der Zeichenebene.- Parameters:
v
- Der Vector, der die Verschiebung des Objekts angibt.- See Also:
-
setCenter
@API public final void setCenter(float x, float y) Verschiebt die Actor-Figur so, dass ihr Mittelpunkt die eingegebenen Koordinaten hat.Diese Methode arbeitet vectorFromThisTo dem Mittelpunkt des das Objekt abdeckenden BoundingRechtecks durch den Aufruf der Methode
center()
. Daher ist diese Methode in der Anwendung auf ein ActorGroup-Objekt nicht unbedingt sinnvoll.- Parameters:
x
- DiegetX
-Koordinate des neuen Mittelpunktes des Objektesy
- DiegetY
-Koordinate des neuen Mittelpunktes des Objektes- See Also:
-
setCenter
Verschiebt die Actor-Figur so, dass ihr Mittelpunkt die eingegebenen Koordinaten hat.
Diese Methode arbeitet mit dem Mittelpunkt des das Objekt abdeckenden Bounding-Rechtecks durch den Aufruf der MethodegetCenter()
.- Parameters:
center
- Der neue Mittelpunkt des Objekts- See Also:
-
getX
@API public final float getX()Gibt die x-Koordinate der linken oberen Ecke zurück. Sollte das Raumobjekt nicht rechteckig sein, so wird die Position der linken oberen Ecke des umschließenden Rechtecks genommen.- Returns:
getX
-Koordinate- See Also:
-
setX
@API public final void setX(float x) Setzt die x-Koordinate der Position des Objektes gänzlich neu auf der Zeichenebene. Das Setzen ist technisch gesehen eine Verschiebung von der aktuellen Position an die neue.- Parameters:
x
- neuegetX
-Koordinate- See Also:
-
getY
@API public final float getY()Gibt die y-Koordinate der linken unteren Ecke zurück. Sollte das Raumobjekt nicht rechteckig sein, so wird die Position der linken unteren Ecke des umschließenden Rechtecks genommen.- Returns:
getY
-Koordinate- See Also:
-
setY
@API public final void setY(float y) Setzt die y-Koordinate der Position des Objektes gänzlich neu auf der Zeichenebene. Das Setzen ist technisch gesehen eine Verschiebung von der aktuellen Position an die neue.
Achtung!
Bei allen Objekten ist die eingegebene Position die linke, untere Ecke des Rechtecks, das die Figur optimal umfasst. Das heißt, dass dies bei Kreisen z.B. nicht der Mittelpunkt ist! Hierfür gibt es die SondermethodesetCenter(float, float)
.- Parameters:
y
- neuegetY
-Koordinate- See Also:
-
getCenter
Gibt den Mittelpunkt des Objektes in der Scene aus.- Returns:
- Die Koordinaten des Mittelpunktes des Objektes
- See Also:
-
getCenterRelative
-
moveBy
@API public final void moveBy(float dX, float dY) Verschiebt das Objekt.
Hierbei wird nichts anderes gemacht, alsmove(new Vector(dx, dy))
auszuführen. Insofern ist diese Methode dafür gut, sich nicht mit der Klasse Vector auseinandersetzen zu müssen.- Parameters:
dX
- Die Verschiebung in Richtung XdY
- Die Verschiebung in Richtung Y- See Also:
-
getPosition
Gibt die Position dieses Actor-Objekts aus.- Returns:
- die aktuelle Position dieses
Actor
-Objekts.
-
rotateBy
@API public final void rotateBy(float degree) Rotiert das Objekt.- Parameters:
degree
- Der Winkel (in Grad), um den das Objekt rotiert werden soll.
-
getRotation
@API public final float getRotation()Gibt den Winkel aus, um den das Objekt derzeit rotiert ist.- Returns:
- Der Winkel (in Grad), um den das Objekt derzeit rotiert ist. Jedes Objekt ist bei
Initialisierung nicht rotiert (
getRotation()
gibt direkt ab Initialisierung0
zurück).
-
setRotation
@API public final void setRotation(float degree) Setzt den Rotationswert des Objekts.- Parameters:
degree
- Der Winkel (in Grad), um den das Objekt von seiner Ausgangsposition bei Initialisierung rotiert werden soll.
-
isMounted
@API public final boolean isMounted() -
animateParticle
Setzt den BodyType auf PARTICLE und animiert das Partikel, sodass es ausblasst und nach der Lebenszeit komplett verschwindet.- Parameters:
lifetime
- Lebenszeit in Sekunden- Returns:
- Objekt, das die Animation kontrolliert
-
animateOpacity
Animiert die Opacity dieses Actors über einen festen Zeitraum: Beginnend von der aktuellen Opacity, ändert sie sich "smooth" (mitEaseInOutFloat
Interpolation) vom aktuellen Opacity-Wert (die Ausgabe vongetOpacity()
bis hin zum angebebenen Opacity-Wert.- Parameters:
time
- Die Animationszeit in SekundentoOpacityValue
- Der Opacity-Wert, zu dem innerhalb vontime
zu interpolieren ist.- Returns:
- Ein
ValueAnimator
, der diese Animation ausführt. Der Animator ist bereits aktiv, es muss nichts an dem Objekt getan werden, um die Animation auszuführen. - See Also:
-