C

动画精灵 QML 类型

绘制精灵动画。 更多...

导入语句import QtQuick
Qt Quick Ultralite 2.3
继承

Item

属性

信号

方法

详细描述

AnimatedSprite 通过将一个图像文件中的多个帧作为动画来渲染和控制动画。你可以以恒定速度播放,也可以手动前进和控制进度。

考虑以下精灵图

它可以分成四个帧

使用以下代码以每帧 500 毫秒的速度播放每个帧

代码结果
import QtQuick 2.15

AnimatedSprite {
    source: "loading.png"
    frameWidth: 64
    frameHeight: 64
    frameCount: 4
    frameDuration: 500
}

属性文档

currentFrame : int

当动画暂停时,将此属性设置为手动前进当前帧。您也可以调用 advance() 方法。


frameCount : int

表示 AnimatedSprite 中的帧数。


frameDuration : int

动画中每帧的持续时间(毫秒)。只有正值有效。

在动画活动时更改此属性将重新启动动画。


frameHeight : int

设置AnimatedSprite中单个帧的高度。


frameWidth : int

设置AnimatedSprite中单个帧的宽度。


loops : int

播放动画这么多次数后,动画将自动停止。只有正值有效。

将其设置为AnimatedSprite.Infinite以无限播放动画。

默认为AnimatedSprite.Infinite


[自 Qt Quick Ultralite 2.5 起使用] paused : bool

指示动画是否已暂停。

当动画暂停时,您可以手动将其当前帧向前推进。

默认为false

此属性是在 Qt Quick Ultralite 2.5 中引入的。


running : bool

指示动画是否正在播放。

默认为true


source : string

动画的图像源。

通过使用ImageFiles.MCU.resourceAnimatedSpriteFrameWidthImageFiles.MCU.resourceAnimatedSpriteFrameHeight指定图像源的帧大小,可以通过将图像分割成帧序列并共享它们之间的公共部分来实现资源优化。

另请参阅 管理资源.


信号文档

finished()

当精灵动画完成时发出此信号。

如果任一running属性设置为falseloops属性设置为AnimatedSprite.Infinite,则不会发出信号。

注意: 相应的事件处理程序是 onFinished


方法文档

advance()

将精灵动画推进一帧。


[自 Qt Quick Ultralite 2.5 起使用] pause()

暂停精灵动画。如果pausedtrue,则这样做没有意义。

此方法是在 Qt Quick Ultralite 2.5 中引入的。


restart()

重新启动精灵动画。


[自 Qt Quick Ultralite 2.5 起使用] resume()

如果pausedtrue,则恢复精灵动画。否则,此操作没有作用。

此方法是在 Qt Quick Ultralite 2.5 中引入的。


start()

启动精灵动画。如果动画已经在运行,调用此方法没有效果。


stop()

停止精灵动画。如果动画未在运行,调用此方法没有效果。


在特定 Qt 许可证下提供。
了解更多。