Package pi.actor

Class BoxActor<T extends Box>

java.lang.Object
pi.actor.Actor
pi.actor.BoxActor<T>
All Implemented Interfaces:
FrameUpdateListenerRegistration, KeyStrokeListenerRegistration, MouseClickListenerRegistration, MouseScrollListenerRegistration
Direct Known Subclasses:
TextActor

public class BoxActor<T extends Box> extends Actor
Eine Figur, die eine Box enthält und diese in der Größe anpassen kann.
  • Field Details

    • box

      protected T extends Box box
    • scaleFactorX

      protected double scaleFactorX
      Der Skalierungsfaktor in x-Richtung.

      Dieses Attribut dient als Cache, damit die Abmessungen der Box nicht bei jedem Einzelbild erneut bestimmt werden müssen. Mithilfe dieses Skalierungsfaktors wird die Box auf die gewünschte Größe skaliert.

      Since:
      0.45.0
    • scaleFactorY

      protected double scaleFactorY
      Der Skalierungsfaktor in x-Richtung.

      Dieses Attribut dient als Cache, damit die Abmessungen der Box nicht bei jedem Einzelbild erneut bestimmt werden müssen. Mithilfe dieses Skalierungsfaktors wird die Box auf die gewünschte Größe skaliert.

      Since:
      0.45.0
  • Constructor Details

    • BoxActor

      public BoxActor(T box)
  • Method Details

    • width

      @API @Getter public double width()
      Gibt die Breite in Meter zurück.
      Returns:
      Die Breite in Meter zurück.
      Since:
      0.45.0
    • width

      @API @Setter @ChainableMethod public BoxActor<T> width(double width)
      Setzt die Breite in Meter.

      Diese Methode setzt die Höhe zurück. Um sowohl die Breite als auch die Höhe zu setzen, steht die Methode size(double, double) zur Verfügung.

      Parameters:
      width - Die Breite in Meter.
      Returns:
      Eine Referenz auf die eigene Instanz der Figur, damit nach dem Erbauer/Builder-Entwurfsmuster die Eigenschaften der Figur durch aneinander gekettete Setter festgelegt werden können, z.B. actor.content(..).height(..).
      Since:
      0.45.0
    • height

      @API @Getter public double height()
      Gibt die Höhe in Meter zurück.
      Returns:
      Die Höhe in Meter.
      Since:
      0.45.0
    • height

      @API @Setter @ChainableMethod public BoxActor<T> height(double height)
      Setzt die Höhe in Meter.

      Diese Methode setzt die Breite zurück. Um sowohl die Breite als auch die Höhe zu setzen, steht die Methode size(double, double) zur Verfügung.

      Parameters:
      height - Die Höhe in Meter.
      Returns:
      Eine Referenz auf die eigene Instanz der Figur, damit nach dem Erbauer/Builder-Entwurfsmuster die Eigenschaften der Figur durch aneinander gekettete Setter festgelegt werden können, z.B. actor.content(..).height(..).
      Since:
      0.45.0
    • pixelPerMeter

      @API @Getter public double pixelPerMeter()
      Gibt den Umrechnungsfaktor von Pixel zu Meter zurück.

      Ist der Umrechnungsfaktor bisher noch nicht gesetzt worden, wird der konfigurierte Wert GraphicsConfig.pixelPerMeter() verwenden.

      Since:
      0.45.0
    • pixelPerMeter

      @API @Setter @ChainableMethod public BoxActor<T> pixelPerMeter(double pixelPerMeter)
      Setzt den Umrechnungsfaktor von Pixel zu Meter. Wenn die Figur beispielsweise 300 Pixel breit und 200 Pixel hoch ist und der Umrechnungsfaktor 100 Pixel pro Meter beträgt, wird sie mit einer Größe von 3 x 2 Metern dargestellt.

      Die Größe der Figur wird so geändert, dass sie dem angegebenen Umrechnungsfaktor entspricht. Dies hat auch Auswirkungen auf die physikalischen Eigenschaften der Figur.

      Die durch die Methoden width(double) height(double) oder size(double, double) gesetzte Breite und Höhe des Figur werden durch diese Methode zurückgesetzt und sind somit unwirksam.

      Parameters:
      pixelPerMeter - Wie viele Pixel ein Meter misst.
      Since:
      0.45.0
    • size

      @API @Setter @ChainableMethod public BoxActor<T> size(double width, double height)
      Setzt die Größe innerhalb der Physik neu.

      Ändert die physikalischen Eigenschaften. Das Figur füllt die neuen Maße und wird ggf. verzerrt.

      Der durch die Methode pixelPerMeter(double) gesetzte Umrechnungsfaktor von Pixel zu Meter wird durch diese Methode zurückgesetzt und ist somit unwirksam.

      Parameters:
      width - Die neue Breite in Meter.
      height - Die neue Höhe in Meter.
      Since:
      0.45.0
      See Also:
    • aspectRatio

      @API public double aspectRatio()
      Berechnet das Seitenverhältnis der Figur.
      Returns:
      Das Seitenverhältnis als Quotient von Breite und Höhe
      Throws:
      IllegalArgumentException - wenn die Breite oder Höhe kleiner oder gleich 0 ist
      Since:
      0.45.0
    • hFlip

      @API @Getter public boolean hFlip()
      Gibt an, ob die Box horizontal gespiegelt, das heißt an der verticalen Achse gespiegelt ist.
      Returns:
      true, wenn das Objekt gerade horizontal gespiegelt ist. Sonst false.
      Since:
      0.45.0
    • hFlip

      @API @Setter @ChainableMethod public BoxActor<T> hFlip(boolean hFlip)
      Setzt, ob die Box horizontal gespiegelt werden soll.

      Hiermit lassen sich zum Beispiel Bewegungsrichtungen (links/rechts) einfach umsetzen.

      Parameters:
      hFlip - Ob die Box horizontal gespiegelt dargestellt werden soll.
      Since:
      0.45.0
      See Also:
    • toggleHFlip

      @API public boolean toggleHFlip()
      Spiegelt die Box in horizontaler Richtung.

      Es wird an der vertikalen Achse gespiegelt.

      Returns:
      Wahr, wenn es horizontale gespiegelt wurde, falsch, wenn es im Originalzustand angezeigt wird.
      Since:
      0.45.0
    • vFlip

      @API @Getter public boolean vFlip()
      Gibt an, ob die Boxvertikal gespiegelt ist, das heißt an der horizontaler Achse gespiegelt ist.
      Returns:
      true, wenn das Objekt gerade vertikal gekippt ist. Sonst false.
      Since:
      0.45.0
    • vFlip

      @API @Setter @ChainableMethod public BoxActor<T> vFlip(boolean vFlip)
      Setzt, ob die Box vertikal gespiegelt werden sollen.
      Parameters:
      vFlip - Ob die Animation horizontal geflippt dargestellt werden soll.
      See Also:
    • toggleVFlip

      @API public boolean toggleVFlip()
      Spiegelt die Box in vertikaler Richtung.

      Es wird an der horizontaler Achse gespiegelt.

      Returns:
      Wahr, wenn es in horizontaler Richtung gekippt wurde, falsch, wenn es im Originalzustand angezeigt wird.
      Since:
      0.45.0