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

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.
Author:
Michael Andonie, Niklas Keller
  • Constructor Details

    • Actor

      public Actor(Supplier<ea.internal.physics.FixtureData> defaultFixtureSupplier)
      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

      @API public final void addMountListener(Runnable listener)
      Fügt einen Listener hinzu, der ausgeführt wird, sobald das Objekt angemeldet wurde.
      Parameters:
      listener - Listener-Implementierung
    • removeMountListener

      @API public final void removeMountListener(Runnable listener)
      Entfernt einen Listener, der ausgeführt wird, sobald das Objekt angemeldet wurde.
      Parameters:
      listener - Listener-Implementierung
    • addUnmountListener

      @API public final void addUnmountListener(Runnable listener)
      Fügt einen Listener hinzu, der ausgeführt wird, sobald das Objekt abgemeldet wurde.
      Parameters:
      listener - Listener-Implementierung
    • removeUnmountListener

      @API public final void removeUnmountListener(Runnable listener)
      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 Wert false, 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

      @API public final boolean contains(Vector p)
      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

      @API public final boolean overlaps(Actor other)
      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 mit another schneidet. Sonst false.
      See Also:
    • getCollisions

      public final List<CollisionEvent<Actor>> getCollisions()
    • setBodyType

      @API public final void setBodyType(BodyType type)
      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 von BodyType.
      Parameters:
      type - Der neue BodyType, für den Actor.
      See Also:
    • getBodyType

      @API public final BodyType 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

      @API public final void setFixtures(String shapeCode)
      Setzt neue Shapes für das Objekt. Hat Einfluss auf die Physik (Kollisionen, Masse, etc.)
      Parameters:
      shapeCode - der Shape-Code
      See Also:
    • setFixture

      @API public final void setFixture(Supplier<ea.internal.physics.FixtureData> fixtureSupplier)
      Ä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

      @Internal public final void renderBasic(Graphics2D g, ea.internal.Bounds r, float pixelPerMeter)
      Die Basiszeichenmethode.
      Sie schließt eine Fallabfrage zur Sichtbarkeit ein.
      Parameters:
      g - Das zeichnende Graphics-Objekt
      r - 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 neuen CollisionListener an, der auf alle Kollisionen zwischen diesem Actor und dem Actor collider reagiert.
      Type Parameters:
      E - Typ-Parameter. SOllte im Regelfall exakt die Klasse von collider 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 und collider 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 neuen CollisionListener 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

      @API public final void addCollisionListener(CollisionListener<Actor> listener)
      Meldet einen neuen CollisionListener 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

      @Internal public abstract void render(Graphics2D g, float pixelPerMeter)
      Rendert das Objekt am Ursprung.
      • Die Position ist (0|0).
      • Die Roation ist 0.
      Parameters:
      g - Das zeichnende Graphics-Objekt
      pixelPerMeter - Pixel pro Meter.
    • setPhysicsHandler

      @Internal public final void setPhysicsHandler(ea.internal.physics.PhysicsHandler handler)
    • getLayer

      public final Layer getLayer()
    • remove

      public final void remove()
    • getKeyListeners

      @API public final EventListeners<KeyListener> getKeyListeners()
      Specified by:
      getKeyListeners in interface KeyListenerContainer
    • getMouseClickListeners

      @API public final EventListeners<MouseClickListener> getMouseClickListeners()
      Specified by:
      getMouseClickListeners in interface MouseClickListenerContainer
    • getMouseWheelListeners

      @API public final EventListeners<MouseWheelListener> getMouseWheelListeners()
      Specified by:
      getMouseWheelListeners in interface MouseWheelListenerContainer
    • getFrameUpdateListeners

      @API public final EventListeners<FrameUpdateListener> getFrameUpdateListeners()
      Specified by:
      getFrameUpdateListeners in interface FrameUpdateListenerContainer
    • 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 Wert true, rotiert sich dieses Objekts innerhalb der physikalischen Simulation nicht mehr. Ist dieser Wert false, 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

      @API public final void setVelocity(Vector velocityInMPerS)
      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

      @API public final Vector 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

      @API public final void applyForce(Vector newton)
      Wirkt eine Kraft auf den Schwerpunkt des Objekts.
      Parameters:
      newton - Kraftvektor in [N]
    • applyForce

      @API public final void applyForce(Vector newton, Vector globalPoint)
      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

      @API public final void applyImpulse(Vector newtonSeconds)
      Wirkt einen Impuls auf den Schwerpunkt des Objekts.
      Parameters:
      newtonSeconds - Impuls in [Ns], der auf den Schwerpunkt wirken soll
    • applyImpulse

      @API public final void applyImpulse(Vector newtonSeconds, Vector globalPoint)
      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

      @API public final RevoluteJoint createRevoluteJoint(Actor other, Vector relativeAnchor)
      Erstellt einen Revolute-Joint zwischen dem zugehörigen Actor-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 zweite Actor-Objekt, das ab sofort mit dem zugehörigen Actor-Objekt über einen RevoluteJoint 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 weiteren Actor-Objekt.
      Parameters:
      other - Das zweite Actor-Objekt, das ab sofort mit dem zugehörigen Actor-Objekt über einen RopeJoint verbunden sein soll.
      relativeAnchor - Der Ankerpunkt für das zugehörige Actor-Objekt. Der erste Befestigungspunkt des Lassos. Angabe relativ zur Position vom zugehörigen Objekt.
      relativeAnchorOther - Der Ankerpunkt für das zweite Actor-Objekt, also other. 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

      @API public final PrismaticJoint createPrismaticJoint(Actor other, Vector anchor, float axisAngle)
    • createDistanceJoint

      @API public final DistanceJoint createDistanceJoint(Actor other, Vector anchorRelativeToThis, Vector anchorRelativeToOther)
      Erstellt einen Distance-Joint zwischen diesem und einem weiteren Actor-Objekt.
      Parameters:
      other - Das zweite Actor-Objekt, das ab sofort mit dem zugehörigen Actor-Objekt über einen DistanceJoint verbunden sein soll.
      anchorRelativeToThis - Der Ankerpunkt für das zugehörige Actor-Objekt. Der erste Befestigungspunkt des Joints. Angabe relativ zu this also absolut.
      anchorRelativeToOther - Der Ankerpunkt für das zweite Actor-Objekt, also other. Der zweite Befestigungspunkt des Joints. Angabe relativ zu other
      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 weiteren Actor-Objekt.
      Parameters:
      other - Das zweite Actor-Objekt, das ab sofort mit dem zugehörigen Actor-Objekt über einen DistanceJoint verbunden sein soll.
      anchorRelativeToThis - Der Ankerpunkt für das zugehörige Actor-Objekt. Der erste Befestigungspunkt des Joints. Angabe relativ zu this also absolut.
      anchorRelativeToOther - Der Ankerpunkt für das zweite Actor-Objekt, also other. Der zweite Befestigungspunkt des Joints. Angabe relativ zu other
      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 des Actor-Objektes gänzlich neu auf der Zeichenebene. Das Setzen ist technisch gesehen eine Verschiebung von der aktuellen Position an die neue.
      Parameters:
      x - neue getX-Koordinate
      y - neue getY-Koordinate
      See Also:
    • setPosition

      @API public final void setPosition(Vector position)
      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

      @API public final void moveBy(Vector v)
      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 - Die getX-Koordinate des neuen Mittelpunktes des Objektes
      y - Die getY-Koordinate des neuen Mittelpunktes des Objektes
      See Also:
    • setCenter

      @API public final void setCenter(Vector center)
      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 Methode getCenter().
      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 - neue getX-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 Sondermethode setCenter(float, float).
      Parameters:
      y - neue getY-Koordinate
      See Also:
    • getCenter

      @API public final Vector getCenter()
      Gibt den Mittelpunkt des Objektes in der Scene aus.
      Returns:
      Die Koordinaten des Mittelpunktes des Objektes
      See Also:
    • getCenterRelative

      @API public final Vector getCenterRelative()
    • moveBy

      @API public final void moveBy(float dX, float dY)
      Verschiebt das Objekt.
      Hierbei wird nichts anderes gemacht, als move(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 X
      dY - Die Verschiebung in Richtung Y
      See Also:
    • getPosition

      @API public final Vector 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 Initialisierung 0 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

      @API public final ValueAnimator<Float> animateParticle(float lifetime)
      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

      @API public 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" (mit EaseInOutFloat Interpolation) vom aktuellen Opacity-Wert (die Ausgabe von getOpacity() bis hin zum angebebenen Opacity-Wert.
      Parameters:
      time - Die Animationszeit in Sekunden
      toOpacityValue - Der Opacity-Wert, zu dem innerhalb von time 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: