Package pi.actor
Class Animation
java.lang.Object
pi.actor.Actor
pi.actor.Animation
- All Implemented Interfaces:
FrameUpdateListener,FrameUpdateListenerRegistration,KeyStrokeListenerRegistration,MouseClickListenerRegistration,MouseScrollListenerRegistration
- Direct Known Subclasses:
Coin,ManaPickup
Eine Animation ist eine
Figur, die aus mehreren
Einzelbildern (Frames) besteht.
Die Einzelbilder werden in einer bestimmen Reihenfolge in die Animation eingefügt und dann in dieser Reihenfolge nacheinander gezeigt.
Die Einzelbilder können auf verschiedene Arten aus Bilddateien eingeladen werden:
- Animierte GIFs
- Spritesheets
- Einzelne Bilddateien
Die Animation kann in zwei Modi abgespielt werden.
- Automatischer Modus: Die Bilder werden nach einer gewissen Dauer gewechselt.
- Manueller Module: Die Einzelbilder müssen manuell gewechselt werden.
- Author:
- Michael Andonie, Josef Friedrich
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOnCompleteListener(Runnable listener) Fügt einen Beobachter hinzu.static AnimationcreateFromAnimatedGif(String filepath, double width, double height) Erzeugt eine Animation aus einer animierter GIF-Datei.static AnimationcreateFromImages(double frameDuration, double width, double height, BufferedImage... images) Erzeugt eine Animation durch Angabe der einzelnen Dateipfade der zu verwendenden Einzelbilder.static AnimationcreateFromImages(double frameDuration, double width, double height, String... filePaths) Erzeugt eine Animation durch Angabe der einzelnen Dateipfade der zu verwendenden Einzelbilder.static AnimationcreateFromImagesPrefix(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.static AnimationcreateFromSpritesheet(double frameDuration, BufferedImage image, int x, int y, double width, double height) Erzeugt eine Animation durch Angabe eines Spritesheets.static AnimationcreateFromSpritesheet(double frameDuration, String filePath, double width, double height, int spriteWidth, int spriteHeight) Erzeugt eine Animation durch Angabe eines Spritesheets.static AnimationcreateFromSpritesheet(double frameDuration, String filePath, int x, int y, double width, double height) Erzeugt eine Animation durch Angabe eines Spritesheets.voidduration(double duration) Setzt die Dauer in Sekunden, die jedes Einzelbild aktiv bleibt.voidSchaltet den manuellen Modus ein.voidframeIndex(int index) Setzt ein bestimmtes Einzelbild über seinen Index.doubleheight()Gibt die Höhe der Animation in Metern aus.voidshowNext()Zeigt das nächste Einzelbild der Animation an.voidstart()Startet die Animation, falls sie vorher gestoppt wurde.voidstop()Stoppt die Animation.voidtoggle()Stoppt oder startet je nach Zustand die Animation.doublewidth()Gibt die Breite der Animation in Metern aus.Methods inherited from class pi.actor.Actor
addCollisionListener, addCollisionListener, addCollisionListener, addMountListener, addUnmountListener, anchor, anchor, anchor, anchorformatted, angularDamping, angularDamping, angularVelocity, angularVelocity, animateOpacity, animateParticle, applyForce, applyForce, applyForce, applyImpulse, applyImpulse, applyImpulse, applyRotationImpulse, applyTorque, awake, bodyType, bodyType, center, center, center, centerRelative, collisions, color, color, color, complementaryColor, contains, createDistanceJoint, createPrismaticJoint, createRevoluteJoint, createRopeJoint, createWeldJoint, density, density, fixture, fixtures, fixtures, frameUpdateListeners, friction, friction, gravityScale, gravityScale, hide, isGrounded, isMounted, isRotationLocked, isVisible, keyStrokeListeners, layer, layerPosition, layerPosition, linearDamping, linearDamping, listenerBundle, lockRotation, makeDynamic, makeKinematic, makeParticle, makeSensor, makeStatic, mass, mouseClickListeners, mouseScrollListeners, moveBy, moveBy, opacity, opacity, overlaps, remove, removeMountListener, removeUnmountListener, resetMovement, restitution, restitution, rotateBy, rotation, rotation, rotationLocked, show, sleep, toggleVisible, velocity, velocity, visible, x, x, y, yMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface pi.event.FrameUpdateListenerRegistration
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeat, repeat, repeat, repeat, repeatMethods inherited from interface pi.event.KeyStrokeListenerRegistration
addKeyStrokeListener, removeKeyStrokeListenerMethods inherited from interface pi.event.MouseClickListenerRegistration
addMouseClickListener, removeMouseClickListenerMethods inherited from interface pi.event.MouseScrollListenerRegistration
addMouseScrollListener, removeMouseScrollListener
-
Constructor Details
-
Animation
Copy-Konstruktor, damit Vererbung genutzt werden kann.- Parameters:
animation- Animation.
-
-
Method Details
-
enableManualMode
public void enableManualMode()Schaltet den manuellen Modus ein.Die Einzelbilder werden dann nicht automatisch nach einer gewissen Zeit weiter geschaltet, sondern über die Methoden
frameIndex(int)odershowNext(). -
start
public void start()Startet die Animation, falls sie vorher gestoppt wurde.- Since:
- 0.40.0
-
stop
public void stop()Stoppt die Animation. Das aktuelle Einzelbild bleibt dauerhaft stehen.- Since:
- 0.40.0
-
toggle
public void toggle()Stoppt oder startet je nach Zustand die Animation.- Since:
- 0.40.0
-
frameIndex
Setzt ein bestimmtes Einzelbild über seinen Index.- Parameters:
index- Der Index des Einzelbilds (0ist der erste Index).- Since:
- 0.38.0
-
duration
Setzt die Dauer in Sekunden, die jedes Einzelbild aktiv bleibt.- Parameters:
duration- Die Dauer in Sekunden, die jedes Einzelbild aktiv bleibt.- Since:
- 0.40.0
-
width
Gibt die Breite der Animation in Metern aus.- Returns:
- Die Breite der Animation in Meter.
- See Also:
-
height
Gibt die Höhe der Animation in Metern aus.- Returns:
- Die Höhe der Animation in Meter.
- See Also:
-
addOnCompleteListener
Fügt einen Beobachter hinzu. Dierun()-Methode wird immer wieder ausgeführt, sobald der letzte Zustand der Animation abgeschlossen wurde. -
showNext
public void showNext()Zeigt das nächste Einzelbild der Animation an.Wenn das aktuelle Einzelbild das letzte ist, werden alle registrierten Beobacher benachrichtigt und der Index wird auf 0 zurückgesetzt. Andernfalls wird der Index um eins erhöht.
- Since:
- 0.38.0
-
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.width- Die Breite der Animation in Meter.height- Die Höhe der Animation in Meter.spriteWidth- Die Breite des Sprites in Pixel.spriteHeight- Die Höhe des Sprites in Pixel.- Returns:
- Eine mit Einzelbildern bestückte Animation.
- Since:
- 0.25.0
-
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
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.
-