Class Animation

java.lang.Object
de.pirckheimer_gymnasium.engine_pi.actor.Actor
de.pirckheimer_gymnasium.engine_pi.actor.Animation
All Implemented Interfaces:
FrameUpdateListener, FrameUpdateListenerRegistration, KeyStrokeListenerRegistration, MouseClickListenerRegistration, MouseScrollListenerRegistration

@API public class Animation extends Actor implements FrameUpdateListener
Eine Animation ist ein Actor-Objekt, das aus mehreren Einzelbildern besteht. Einzelbilder können auf verschiedene Arten aus Bilddateien eingeladen werden:
Author:
Michael Andonie
  • Constructor Details

    • Animation

      public Animation(Animation animation)
      Copy-Konstruktor, damit Vererbung genutzt werden kann.
      Parameters:
      animation - Animation.
  • Method Details

    • getFrames

      @Internal public AnimationFrame[] getFrames()
      Gibt die Frames dieser Animation aus.
      Returns:
      Die Frames dieser Animation.
    • getWidth

      @API public double getWidth()
      Gibt die Breite der Animation in Metern aus.
      Returns:
      Die Breite der Animation in Meter.
      See Also:
    • getHeight

      @API public double getHeight()
      Gibt die Höhe der Animation in Metern aus.
      Returns:
      Die Höhe der Animation in Meter.
      See Also:
    • addOnCompleteListener

      @API public void addOnCompleteListener(Runnable listener)
      Fügt einen Listener hinzu. Die run()-Methode wird immer wieder ausgeführt, sobald der letzte Zustand der Animation abgeschlossen wurde.
      Parameters:
      listener - Ein Runnable, dessen run-Methode ausgeführt werden soll, sobald die Animation abgeschlossen ist (wird ausgeführt, bevor der Loop von Vorne beginnt).
    • onFrameUpdate

      @Internal public void onFrameUpdate(double pastTime)
      Description copied from interface: FrameUpdateListener
      Diese Methode wird bei einem (angemeldeten) Objekt bei jedem Einzelbild erneut aufgerufen.
      Specified by:
      onFrameUpdate in interface FrameUpdateListener
      Parameters:
      pastTime - Die Zeit in Sekunden, die seit der letzten Aktualisierung vergangen ist.
    • render

      public void render(Graphics2D g, double pixelPerMeter)
      Zeichnet die Figur an der Position (0|0) mit der Rotation 0.
      Specified by:
      render in class Actor
      Parameters:
      g - Das Graphics2D-Objekt, in das gezeichnet werden soll.
      pixelPerMeter - Gibt an, wie viele Pixel ein Meter misst.
    • createFromSpritesheet

      @API public static Animation createFromSpritesheet(double frameDuration, BufferedImage image, int x, int y, double width, double height)
      Erzeugt eine Animation durch Angabe eines Spritesheets.
      Parameters:
      frameDuration - Die Dauer in Sekunden, die die Einzelbilder aktiv bleiben.
      image - Die bereits in den Speicher geladene Bilddatei des Spritesheets.
      x - Die Anzahl an Sprites in x-Richtung.
      y - Die Anzahl an Sprites in y-Richtung.
      width - Die Breite der Animation in Meter.
      height - Die Höhe der Animation in Meter.
      Returns:
      Eine mit Einzelbildern bestückte Animation.
      Since:
      0.25.0
    • createFromSpritesheet

      @API public static Animation createFromSpritesheet(double frameDuration, String filePath, int x, int y, double width, double height)
      Erzeugt eine Animation durch Angabe eines Spritesheets.
      Parameters:
      frameDuration - Die Dauer in Sekunden, die die Einzelbilder aktiv bleiben.
      filePath - Der Dateipfad des Spritesheets.
      x - Die Anzahl an Sprites in x-Richtung.
      y - Die Anzahl an Sprites in y-Richtung.
      width - Die Breite der Animation in Meter.
      height - Die Höhe der Animation in Meter.
      Returns:
      Eine mit Einzelbildern bestückte Animation.
    • createFromSpritesheet

      @API public static Animation createFromSpritesheet(double frameDuration, String filePath, double width, double height, int spriteWidth, int spriteHeight)
      Erzeugt eine Animation durch Angabe eines Spritesheets.
      Parameters:
      frameDuration - Die Dauer in Sekunden, die die Einzelbilder aktiv bleiben.
      filePath - Der Dateipfad des Spritesheets.
      spriteWidth - Die Breite des Sprites in Pixel.
      spriteHeight - Die Höhe des Sprites in Pixel.
      width - Die Breite der Animation in Meter.
      height - Die Höhe der Animation in Meter.
      Returns:
      Eine mit Einzelbildern bestückte Animation.
      Since:
      0.25.0
      See Also:
    • createFromImages

      @API public static Animation createFromImages(double frameDuration, double width, double height, BufferedImage... images)
      Erzeugt eine Animation durch Angabe der einzelnen Dateipfade der zu verwendenden Einzelbilder.
      Parameters:
      frameDuration - Die Dauer in Sekunden, die die Einzelbilder aktiv bleiben.
      width - Die Breite der Animation in Meter.
      height - Die Höhe der Animation in Meter.
      images - Die Einzelbilder.
      Returns:
      Eine mit Einzelbildern bestückte Animation.
      Since:
      0.26.0
    • createFromImages

      @API public static Animation createFromImages(double frameDuration, double width, double height, String... filePaths)
      Erzeugt eine Animation durch Angabe der einzelnen Dateipfade der zu verwendenden Einzelbilder.
      Parameters:
      frameDuration - Die Dauer in Sekunden, die die Einzelbilder aktiv bleiben.
      width - Die Breite der Animation in Meter.
      height - Die Höhe der Animation in Meter.
      filePaths - Die einzelnen Dateipfade der zu verwendenden Einzelbilder.
      Returns:
      Eine mit Einzelbildern bestückte Animation.
    • createFromImagesPrefix

      @API public static Animation createFromImagesPrefix(double frameDuration, double width, double height, String directoryPath, String prefix)
      Lädt alle Bilddateien mit einem bestimmten Präfix in einem bestimmten Verzeichnis in eine Animation.
      Parameters:
      frameDuration - Die Dauer in Sekunden, die die Einzelbilder aktiv bleiben.
      width - Die Breite der Animation in Meter.
      height - Die Höhe der Animation in Meter.
      directoryPath - Der Pfad zum Verzeichnis, in dem die einzuladenden Bilder liegen.
      prefix - Das Pfad-Präfix. Diese Funktion sucht alle Dateien mit dem gegebenen Präfix (im angegebenen Ordner) und fügt sie in aufsteigender Reihenfolge der Animation hinzu.
      Returns:
      Eine Animation aus allen Dateien, die mit dem Pfadpräfix beginnen.
    • createFromAnimatedGif

      @API public static Animation createFromAnimatedGif(String filepath, double width, double height)
      Erzeugt eine Animation aus einer animierter GIF-Datei.
      Parameters:
      filepath - Der Dateipfad der GIF-Datei.
      width - Die Breite der Animation in Meter.
      height - Die Höhe der Animation in Meter.
      Returns:
      Eine mit Einzelbildern bestückte Animation.