Sur cette page

AnimatedSprite QML Type

Dessine une animation de sprite. Plus d'informations...

Import Statement: import QtQuick
Inherits:

Item

Propriétés

Signaux

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 :

CodeRé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:

CodeRé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.

ConstanteDescription
FinishAtInitialFrameLorsque l'animation se termine, elle revient à l'image initiale. Il s'agit du comportement par défaut.
FinishAtFinalFrameLorsque 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.