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
Eine Animation ist ein
Actor-Objekt, das aus mehreren
Einzelbildern
besteht. Einzelbilder können auf verschiedene Arten aus Bilddateien
eingeladen werden:
- Animierte GIFs
- Spritesheets
- Einzelne Bilddateien
- Author:
- Michael Andonie
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOnCompleteListener(Runnable listener) Fügt einen Listener 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.Gibt die Frames dieser Animation aus.doubleGibt die Höhe der Animation in Metern aus.doublegetWidth()Gibt die Breite der Animation in Metern aus.voidonFrameUpdate(double pastTime) Diese Methode wird bei einem (angemeldeten) Objekt bei jedem Einzelbild erneut aufgerufen.voidrender(Graphics2D g, double pixelPerMeter) Zeichnet die Figur an der Position(0|0)mit der Rotation0.Methods inherited from class de.pirckheimer_gymnasium.engine_pi.actor.Actor
addCollisionListener, addCollisionListener, addCollisionListener, addMountListener, addUnmountListener, animateOpacity, animateParticle, applyForce, applyForce, applyForce, applyImpulse, applyImpulse, applyImpulse, applyRotationImpulse, applyTorque, awake, contains, createDistanceJoint, createPrismaticJoint, createRevoluteJoint, createRopeJoint, createWeldJoint, getAngularDamping, getAngularVelocity, getBodyType, getCenter, getCenterRelative, getCollisions, getColor, getComplementaryColor, getDensity, getElasticity, getFrameUpdateListeners, getFriction, getGravityScale, getKeyStrokeListeners, getLayer, getLayerPosition, getLinearDamping, getListenerBundle, getMass, getMouseClickListeners, getMouseScrollListeners, getOpacity, getPhysicsHandler, getPosition, getPositionformatted, getRotation, getVelocity, getX, getY, isGrounded, isMounted, isRotationLocked, isVisible, lockRotation, makeDynamic, makeKinematic, makeParticle, makeSensor, makeStatic, moveBy, moveBy, overlaps, remove, removeMountListener, removeUnmountListener, renderBasic, resetMovement, rotateBy, setAngularDamping, setAngularVelocity, setBodyType, setCenter, setCenter, setColor, setColor, setDensity, setElasticity, setFixture, setFixtures, setFixtures, setFriction, setGravityScale, setLayerPosition, setLinearDamping, setOpacity, setPhysicsHandler, setPosition, setPosition, setRotation, setRotationLocked, setVelocity, setVisible, setX, setY, sleep, toggleVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.FrameUpdateListenerRegistration
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeat, repeat, repeat, repeat, repeatMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.KeyStrokeListenerRegistration
addKeyStrokeListener, removeKeyStrokeListenerMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.MouseClickListenerRegistration
addMouseClickListener, removeMouseClickListenerMethods inherited from interface de.pirckheimer_gymnasium.engine_pi.event.MouseScrollListenerRegistration
addMouseScrollListener, removeMouseScrollListener
-
Constructor Details
-
Animation
Copy-Konstruktor, damit Vererbung genutzt werden kann.- Parameters:
animation- Animation.
-
-
Method Details
-
getFrames
Gibt die Frames dieser Animation aus.- Returns:
- Die Frames dieser Animation.
-
getWidth
Gibt die Breite der Animation in Metern aus.- Returns:
- Die Breite der Animation in Meter.
- See Also:
-
getHeight
Gibt die Höhe der Animation in Metern aus.- Returns:
- Die Höhe der Animation in Meter.
- See Also:
-
addOnCompleteListener
Fügt einen Listener hinzu. Dierun()-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
Description copied from interface:FrameUpdateListenerDiese Methode wird bei einem (angemeldeten) Objekt bei jedem Einzelbild erneut aufgerufen.- Specified by:
onFrameUpdatein interfaceFrameUpdateListener- Parameters:
pastTime- Die Zeit in Sekunden, die seit der letzten Aktualisierung vergangen ist.
-
render
Zeichnet die Figur an der Position(0|0)mit der Rotation0.- Specified by:
renderin classActor- Parameters:
g- DasGraphics2D-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
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.
-