AnimatedSprite QML Type
Dibuja una animación de sprite. Más...
| Import Statement: | import QtQuick |
| Inherits: |
Propiedades
- 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
Señales
- finished()
Métodos
Descripción detallada
AnimatedSprite proporciona renderizado y control sobre animaciones que se proporcionan como múltiples fotogramas en el mismo archivo de imagen. Puede reproducirlo a una velocidad fija, a la velocidad de fotogramas de su pantalla, o avanzar manualmente y controlar el progreso.
Considere la siguiente hoja de Sprite:
![]()
Se puede dividir en cuatro fotogramas:
![]()
Para reproducir cada uno de estos fotogramas a una velocidad de 500 milisegundos por fotograma, se puede utilizar el siguiente código:
| Código | Resultado |
|---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 } |
Por defecto, los fotogramas se interpolan (se mezclan) para que la animación parezca más suave. Para desactivar esto, establezca interpolate a false:
| Código | Resultado |
|---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 interpolate: false } |
|
Para controlar cómo responde AnimatedSprite al ser escalado, utilice la propiedad smooth.
Tenga en cuenta que a diferencia de SpriteSequence, el tipo AnimatedSprite no utiliza Sprite para definir múltiples animaciones, sino que encapsula una única animación.
Ver también Animaciones de Sprite.
Documentación de propiedades
currentFrame : int
Cuando está en pausa, el fotograma actual se puede avanzar manualmente estableciendo esta propiedad o llamando a advance().
finishBehavior : enumeration
El comportamiento cuando la animación termina por sí sola.
| Constante | Descripción |
|---|---|
FinishAtInitialFrame | Cuando la animación termina vuelve al cuadro inicial. Este es el comportamiento por defecto. |
FinishAtFinalFrame | Cuando la animación termina se mantiene en el cuadro final. |
frameCount : int
Número de fotogramas en este AnimatedSprite.
frameDuration : int
Duración de cada fotograma de la animación en milisegundos. Los valores inferiores o iguales a 0 no son válidos.
Si frameRate es válido, se utilizará para calcular la duración de los fotogramas. Si no lo es, y frameDuration es válido, se utilizará frameDuration.
Al cambiar este parámetro se reiniciará la animación.
frameHeight : int
Altura de un único fotograma en este AnimatedSprite.
Puede omitirse si es el único sprite del archivo.
frameRate : real
Fotogramas por segundo a mostrar en la animación. Los valores inferiores o iguales a 0 no son válidos.
Si frameRate es válido, se utilizará para calcular la duración de los fotogramas. Si no, y frameDuration es válido, se utilizará frameDuration.
Cambiar este parámetro reiniciará la animación.
frameSync : bool
Si true, la animación no tendrá duración. En su lugar, la animación avanzará un fotograma cada vez que se renderice un fotograma en la pantalla. Esto la sincroniza con la tasa de pintura en oposición al tiempo transcurrido.
Si frameSync se establece en true, anula tanto frameRate como frameDuration.
Por defecto es false.
Cambiar este parámetro reiniciará la animación.
frameWidth : int
Anchura de un solo fotograma en este AnimatedSprite.
Puede omitirse si es el único sprite del archivo.
frameX : int
La coordenada X en el archivo de imagen del primer fotograma de AnimatedSprite.
Puede omitirse si el primer fotograma comienza en la esquina superior izquierda del archivo.
frameY : int
La coordenada Y en el archivo de imagen del primer fotograma de AnimatedSprite.
Puede omitirse si el primer fotograma comienza en la esquina superior izquierda del archivo.
interpolate : bool
Si es true, la interpolación se producirá entre los fotogramas del sprite para hacer que la animación parezca más suave.
Por defecto es true.
loops : int
Después de reproducir la animación tantas veces, la animación se detendrá automáticamente. Los valores negativos no son válidos.
Si se establece en AnimatedSprite.Infinite, la animación no se detendrá por sí misma.
Por defecto es AnimatedSprite.Infinite
paused : bool
Cuando está en pausa, el fotograma actual puede avanzarse manualmente.
Por defecto es false.
reverse : bool
Si true, la animación se reproducirá en sentido inverso.
Por defecto es false.
running : bool
Si el sprite se está animando o no.
Por defecto es true
source : url
La fuente de la imagen para la animación.
Si no se especifica frameHeight y frameWidth, se asume que es una única fila larga de fotogramas cuadrados. En caso contrario, pueden ser múltiples filas contiguas o fotogramas rectangluares, cuando se acabe una fila se utilizará la siguiente.
Si se especifican frameX y frameY, se tomará la fila de cuadros con esa coordenada x/y como esquina superior izquierda.
Documentación de la señal
finished()
Esta señal se emite cuando el sprite ha terminado de animarse.
No se emite cuando la propiedad running está establecida a false, ni para sprites cuya propiedad loops está establecida a AnimatedSprite.Infinite.
Nota: El manejador correspondiente es onFinished.
Documentación del método
void advance(int frames = 1)
Avanza la animación del sprite un número especificado de frames.
void pause()
Pausa la animación del sprite. Esto no hace nada si paused es true.
Ver también resume().
void restart()
Detiene y luego inicia la animación del sprite.
void resume()
Reanuda la animación del sprite si paused es true; en caso contrario, no hace nada.
Véase también pause().
void start()
Inicia la animación del sprite. Si la animación ya se está ejecutando, llamar a este método no tiene ningún efecto.
Ver también stop().
void stop()
Detiene la animación del sprite. Si la animación no se está ejecutando, llamar a este método no tiene ningún efecto.
Véase también 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.