AnimatedSprite QML Type
Affiche une animation de sprite. En savoir plus...
| Import Statement: | import QtQuick |
| Inherits: |
Propriétés
- 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
Signaux
- finished()
Méthodes
Description détaillée
AnimatedSprite permet le rendu et le contrôle d'animations fournies sous forme de plusieurs images dans un même fichier image. Vous pouvez les lire à une vitesse fixe, à la fréquence d'images de votre écran, ou faire défiler manuellement et contrôler la progression.
Prenons l'exemple de la feuille de sprites suivante :
![]()
Elle peut être divisée en quatre images :
![]()
Pour lire chacune de ces images à une vitesse de 500 millisecondes par image, vous pouvez utiliser le code suivant :
| Code | Résultat |
|---|---|
|
Par défaut, les images sont interpolées (mélangées entre elles) afin de rendre l'animation plus fluide. Pour désactiver cette fonctionnalité, définissez ` interpolate ` sur ` false` :
| Code | Résultat |
|---|---|
|
|
Pour contrôler la manière dont AnimatedSprite réagit à la mise à l'échelle, utilisez la propriété ` smooth `.
Notez que contrairement à SpriteSequence, le type AnimatedSprite n'utilise pas Sprite pour définir plusieurs animations, mais encapsule lui-même une seule animation.
Voir également Animations de sprites.
Documentation sur les propriétés
currentFrame : int
Lorsque la lecture est en pause, il est possible de passer manuellement à l'image suivante en définissant cette propriété ou en appelant la fonction ` advance()`.
finishBehavior : enumeration
Comportement lorsque l'animation se termine d'elle-même.
| Constante | Description |
|---|---|
FinishAtInitialFrame | Lorsque l'animation se termine, elle revient à l'image initiale. Il s'agit du comportement par défaut. |
FinishAtFinalFrame | Lorsque l'animation se termine, elle reste sur l'image finale. |
frameCount : int
Nombre d'images dans cette AnimatedSprite.
frameDuration : int
Durée de chaque image de l'animation, exprimée en millisecondes. Les valeurs inférieures ou égales à « 0 » ne sont pas valides.
Si la valeur « frameRate » est valide, elle sera utilisée pour calculer la durée des images. Dans le cas contraire, et si « frameDuration » est valide, la valeur « frameDuration » sera utilisée.
La modification de ce paramètre redémarrera l'animation.
frameHeight : int
Hauteur d'une image unique dans ce fichier AnimatedSprite.
Peut être omis s'il s'agit du seul sprite du fichier.
frameRate : real
Nombre d'images par seconde à afficher dans l'animation. Les valeurs inférieures ou égales à 0 ne sont pas valides.
Si la valeur « frameRate » est valide, elle sera utilisée pour calculer la durée des images. Si ce n'est pas le cas, et si la valeur « frameDuration » est valide, la valeur « frameDuration » sera utilisée.
La modification de ce paramètre redémarrera l’animation.
frameSync : bool
Si ` true`, l'animation n'aura pas de durée définie. À la place, elle avancera d'une image à chaque fois qu'une image est affichée à l'écran. Cela permet de la synchroniser avec la fréquence de rafraîchissement plutôt qu'avec le temps écoulé.
Si frameSync est défini sur true, il remplace à la fois frameRate et frameDuration.
La valeur par défaut est « false ».
La modification de ce paramètre redémarrera l’animation.
frameWidth : int
Largeur d'une image unique dans ce fichier AnimatedSprite.
Peut être omis s'il s'agit du seul sprite du fichier.
frameX : int
La coordonnée X dans le fichier image de la première image de l'AnimatedSprite.
Peut être omise si la première image commence dans le coin supérieur gauche du fichier.
frameY : int
La coordonnée Y dans le fichier image de la première image de l'AnimatedSprite.
Elle peut être omise si la première image commence dans le coin supérieur gauche du fichier.
interpolate : bool
Si cette option est activée, une interpolation sera effectuée entre les images du sprite afin de rendre l'animation plus fluide.
La valeur par défaut est « true ».
loops : int
Une fois l'animation lue ce nombre de fois, elle s'arrêtera automatiquement. Les valeurs négatives ne sont pas valides.
Si cette option est définie sur « AnimatedSprite.Infinite », l'animation ne s'arrêtera pas d'elle-même.
La valeur par défaut est AnimatedSprite.Infinite
paused : bool
Lorsque la lecture est en pause, il est possible de passer manuellement à l'image suivante.
La valeur par défaut est false.
reverse : bool
Si true, l'animation sera lue à l'envers.
La valeur par défaut est false.
running : bool
Si le sprite est animé ou non.
La valeur par défaut est « true ».
source : url
La source de l'image pour l'animation.
Si frameHeight et frameWidth ne sont pas spécifiés, on suppose qu'il s'agit d'une seule longue rangée d'images carrées. Sinon, il peut s'agir de plusieurs rangées contiguës ou d'images rectangulaires ; lorsqu'une rangée est épuisée, la suivante est utilisée.
Si frameX et frameY sont spécifiés, la ligne d’images sera extraite en prenant ces coordonnées x/y comme coin supérieur gauche.
Documentation sur les signaux
finished()
Ce signal est émis lorsque l'animation du sprite est terminée.
Il n'est pas émis lorsque l'exécution est définie sur « false », ni pour les sprites dont la propriété « loops » est définie sur « AnimatedSprite.Infinite ».
Remarque : le gestionnaire correspondant est onFinished.
Documentation de la méthode
void advance(int frames = 1)
Fait avancer l'animation du sprite d'un nombre spécifié d'frames.
void pause()
Met en pause l'animation du sprite. Cette fonction n'a aucun effet si la propriété « paused » est définie sur « true ».
Voir également resume().
void restart()
Arrête, puis relance l'animation du sprite.
void resume()
Reprend l'animation du sprite si paused est true; sinon, cette fonction ne fait rien.
Voir également pause().
void start()
Lance l'animation du sprite. Si l'animation est déjà en cours, l'appel de cette méthode n'a aucun effet.
Voir aussi stop().
void stop()
Arrête l'animation du sprite. Si l'animation n'est pas en cours d'exécution, l'appel de cette méthode n'a aucun effet.
Voir aussi 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.