AnimatedSprite QML Type
Dessine une animation de sprite. Plus d'informations...
| 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 assure le rendu et le contrôle des animations qui sont fournies sous forme d'images multiples dans le même fichier image. Vous pouvez les lire à une vitesse fixe, à la fréquence d'images de votre écran, ou les faire avancer manuellement et contrôler leur 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, on peut utiliser le code suivant :
| Code | Résultat |
|---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 } |
Par défaut, les images sont interpolées (mélangées) pour rendre l'animation plus fluide. Pour désactiver cette fonction, réglez interpolate sur false:
| Code | Résultat |
|---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 interpolate: false } |
|
Pour contrôler la façon 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 aussi Animations de sprites.
Documentation sur les propriétés
currentFrame : int
En pause, le cadre actuel peut être avancé manuellement en définissant cette propriété ou en appelant advance().
finishBehavior : enumeration
Le 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 la dernière image. |
frameCount : int
Nombre de trames dans ce site AnimatedSprite.
frameDuration : int
Durée de chaque image de l'animation en millisecondes. Les valeurs inférieures ou égales à 0 ne sont pas valides.
Si frameRate est valide, il sera utilisé pour calculer la durée des images. Dans le cas contraire, et si frameDuration est valide, frameDuration sera utilisé.
La modification de ce paramètre redémarre l'animation.
frameHeight : int
Hauteur d'une seule image dans ce 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 valables.
Si frameRate est valide, il sera utilisé pour calculer la durée des images. Dans le cas contraire, et si frameDuration est valide, frameDuration sera utilisé.
La modification de ce paramètre redémarre l'animation.
frameSync : bool
Si true, l'animation n'aura pas de durée. Au lieu de cela, l'animation avancera d'une image chaque fois qu'une image est rendue à l'écran. Cela permet de synchroniser l'animation avec le taux de peinture 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émarre l'animation.
frameWidth : int
Largeur d'une seule image dans ce AnimatedSprite.
Peut être omis s'il s'agit du seul sprite du fichier.
frameX : int
Coordonnée X dans le fichier image de la première image du site AnimatedSprite.
Peut être omis si la première image commence dans le coin supérieur gauche du fichier.
frameY : int
Coordonnée Y dans le fichier image de la première image du site AnimatedSprite.
Peut être omise si la première image commence dans le coin supérieur gauche du fichier.
interpolate : bool
Si c'est le cas, l'interpolation se produira entre les images de sprites afin de rendre l'animation plus fluide.
La valeur par défaut est true.
loops : int
Après avoir joué l'animation autant de fois, l'animation s'arrêtera automatiquement. Les valeurs négatives ne sont pas valables.
Si cette valeur est fixée à AnimatedSprite.Infinite, l'animation ne s'arrêtera pas d'elle-même.
La valeur par défaut est AnimatedSprite.Infinite
paused : bool
En pause, le cadre actuel peut être avancé manuellement.
La valeur par défaut est false.
reverse : bool
Si true, l'animation sera jouée en sens inverse.
La valeur par défaut est false.
running : bool
Indique 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 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 rangée de cadres sera prise avec cette coordonnée x/y comme coin supérieur gauche.
Documentation sur les signaux
finished()
Ce signal est émis lorsque le sprite a fini de s'animer.
Il n'est pas émis lorsque la propriété running 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)
Avance l'animation du sprite d'un nombre spécifié de frames.
void pause()
Met en pause l'animation du sprite. Cela ne fait rien si paused est true.
Voir aussi resume().
void restart()
Arrête, puis démarre l'animation du sprite.
void resume()
Reprend l'animation du sprite si paused est true; sinon, cela ne fait rien.
Voir aussi pause().
void start()
Démarre l'animation du sprite. Si l'animation est déjà en cours, l'appel à 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, l'appel à cette méthode n'a aucun effet.
Voir également 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.