AnimatedSprite QML Type
Zeichnet eine Sprite-Animation. Mehr...
| Import Statement: | import QtQuick |
| Inherits: |
Eigenschaften
- currentFrame : int
- finishBehavior : enumeration
- frameCount : int
- frameDuration : int
- frameHeight : int
- frameRate : real
- frameSync : bool
- frameWidth : int
- frameX : int
- frameY : int
- interpolate : bool
- loops : int
- paused : bool
- reverse : bool
- running : bool
- source : url
Signale
- finished()
Methoden
Ausführliche Beschreibung
AnimatedSprite ermöglicht die Darstellung und Steuerung von Animationen, die als mehrere Einzelbilder in derselben Bilddatei vorliegen. Sie können die Animation mit einer festen Geschwindigkeit, mit der Bildwiederholfrequenz Ihres Bildschirms oder manuell abspielen und den Fortschritt steuern.
Betrachten Sie das folgende Sprite-Sheet:
![]()
Es lässt sich in vier Einzelbilder unterteilen:
![]()
Um jedes dieser Einzelbilder mit einer Geschwindigkeit von 500 Millisekunden pro Einzelbild abzuspielen, kann der folgende Code verwendet werden:
| Code | Ergebnis |
|---|---|
|
Standardmäßig werden die Frames interpoliert (miteinander überblendet), damit die Animation flüssiger wirkt. Um dies zu deaktivieren, setzen Sie „ interpolate “ auf „ false “:
| Code | Ergebnis |
|---|---|
|
|
Um zu steuern, wie „AnimatedSprite“ auf Skalierungen reagiert, verwenden Sie die Eigenschaft „ smooth “.
Beachten Sie, dass der Typ „AnimatedSprite“ im Gegensatz zu „ SpriteSequence “ nicht „ Sprite “ verwendet, um mehrere Animationen zu definieren, sondern stattdessen selbst eine einzelne Animation kapselt.
Siehe auch „Sprite-Animationen“.
Eigenschaftsdokumentation
currentFrame : int
Im Pausenmodus kann der aktuelle Frame manuell weitergeschaltet werden, indem diese Eigenschaft festgelegt oder die Methode ` advance()` aufgerufen wird.
finishBehavior : enumeration
Das Verhalten, wenn die Animation von selbst endet.
| Konstante | Beschreibung |
|---|---|
FinishAtInitialFrame | Wenn die Animation endet, kehrt sie zum Startbild zurück. Dies ist das Standardverhalten. |
FinishAtFinalFrame | Wenn die Animation endet, bleibt sie auf dem letzten Bild stehen. |
frameCount : int
Anzahl der Bilder in diesem Video: AnimatedSprite.
frameDuration : int
Dauer jedes Einzelbilds der Animation in Millisekunden. Werte, die kleiner oder gleich „ 0 “ sind, sind ungültig.
Ist „ frameRate “ gültig, wird dieser Wert zur Berechnung der Dauer der Einzelbilder herangezogen. Ist dies nicht der Fall und ist „frameDuration“ gültig, wird „ frameDuration “ verwendet.
Durch Ändern dieses Parameters wird die Animation neu gestartet.
frameHeight : int
Höhe eines einzelnen Frames in diesem „ AnimatedSprite “.
Kann weggelassen werden, wenn es sich um das einzige Sprite in der Datei handelt.
frameRate : real
Anzahl der Bilder pro Sekunde, die in der Animation angezeigt werden sollen. Werte kleiner oder gleich 0 sind ungültig.
Ist „ frameRate “ gültig, wird dieser Wert zur Berechnung der Dauer der Frames verwendet. Ist dies nicht der Fall und ist „ frameDuration “ gültig, wird „ frameDuration “ verwendet.
Durch Ändern dieses Parameters wird die Animation neu gestartet.
frameSync : bool
Wenn „ true “ gesetzt ist, hat die Animation keine Dauer. Stattdessen wird die Animation jedes Mal um ein Bild weitergeschaltet, wenn ein Bild auf dem Bildschirm gerendert wird. Dadurch wird sie mit der Bildwiederholrate synchronisiert und nicht mit der verstrichenen Zeit.
Wenn „frameSync“ auf „true“ gesetzt ist, überschreibt dies sowohl „ frameRate “ als auch „ frameDuration “.
Der Standardwert ist „ false “.
Durch Ändern dieses Parameters wird die Animation neu gestartet.
frameWidth : int
Breite eines einzelnen Frames in diesem AnimatedSprite.
Kann weggelassen werden, wenn es sich um das einzige Sprite in der Datei handelt.
frameX : int
Die X-Koordinate im Bild der ersten Bildsequenz von AnimatedSprite.
Kann weggelassen werden, wenn das erste Bild in der oberen linken Ecke der Datei beginnt.
frameY : int
Die Y-Koordinate im Bild der ersten Bildsequenz von AnimatedSprite.
Kann weggelassen werden, wenn das erste Bild in der oberen linken Ecke der Datei beginnt.
interpolate : bool
Wenn „true“, wird zwischen den Sprite-Frames eine Interpolation durchgeführt, damit die Animation flüssiger wirkt.
Standardmäßig ist der Wert „true“.
loops : int
Nachdem die Animation so oft abgespielt wurde, wird sie automatisch angehalten. Negative Werte sind ungültig.
Wenn hier „ AnimatedSprite.Infinite “ eingestellt ist, wird die Animation nicht von selbst beendet.
Die Standardeinstellung lautet AnimatedSprite.Infinite
paused : bool
Im Pausenmodus kann der aktuelle Frame manuell weitergeschaltet werden.
Die Standardeinstellung lautet „ false “.
reverse : bool
Wenn true ist, wird die Animation rückwärts abgespielt.
Die Standardeinstellung ist „ false “.
running : bool
Ob das Sprite animiert wird oder nicht.
Standardwert ist „true“
source : url
Die Bildquelle für die Animation.
Wenn frameHeight und frameWidth nicht angegeben sind, wird davon ausgegangen, dass es sich um eine einzige lange Reihe quadratischer Frames handelt. Andernfalls kann es sich um mehrere zusammenhängende Reihen oder rechteckige Frames handeln; wenn eine Reihe zu Ende ist, wird die nächste verwendet.
Wenn frameX und frameY angegeben sind, wird die Bildreihe mit diesen x/y-Koordinaten als linker oberer Ecke verwendet.
Signal-Dokumentation
finished()
Dieses Signal wird ausgelöst, wenn die Animation des Sprites beendet ist.
Es wird nicht ausgegeben, wenn „running“ auf „ false “ gesetzt ist, und auch nicht für Sprites, deren Eigenschaft „ loops “ auf „ AnimatedSprite.Infinite “ gesetzt ist.
Hinweis: Der entsprechende Handler lautet „ onFinished “.
Methodendokumentation
void advance(int frames = 1)
Verschiebt die Sprite-Animation um eine angegebene Anzahl von „ frames “.
void pause()
Hält die Sprite-Animation an. Dies hat keine Auswirkung, wenn „ paused “ auf „ true “ gesetzt ist.
Siehe auch „ resume()“.
void restart()
Hält die Sprite-Animation an und startet sie anschließend wieder.
void resume()
Setzt die Sprite-Animation fort, wenn „ paused “ auf „ true “ gesetzt ist; andernfalls hat diese Funktion keine Auswirkung.
Siehe auch „ pause()“.
void start()
Startet die Sprite-Animation. Wenn die Animation bereits läuft, hat der Aufruf dieser Methode keine Auswirkung.
Siehe auch „ stop()“.
void stop()
Hält die Sprite-Animation an. Wenn die Animation nicht läuft, hat der Aufruf dieser Methode keine Auswirkung.
Siehe auch ` start()`.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.