动画精灵 QML 类型
绘制精灵动画。 更多...
导入语句 | import QtQuick |
继承 |
属性
- currentFrame : int
- finishBehavior : 枚举
- frameCount : int
- frameDuration : int
- frameHeight : int
- frameRate : qreal
- frameSync : bool
- frameWidth : int
- frameX : int
- frameY : int
- interpolate : bool
- loops : int
- paused : bool
- reverse : bool
- running : bool
- source : url
信号
- finished()
方法
详细描述
AnimatedSprite 提供了对于由同一图像文件中的多个帧提供的动画的渲染和控制器。您可以以固定的速度播放,以显示器的帧速率播放,或手动前进并控制进度。
考虑以下精灵表
它可以分为四个帧
要以每帧 500 毫秒的速度播放这些帧,可以使用以下代码
代码 | 结果 |
---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 } |
默认情况下,帧会被插值(混合)以使动画看起来更平滑。要禁用此功能,将 interpolate 设置为 false
代码 | 结果 |
---|---|
AnimatedSprite { source: "loading.png" frameWidth: 64 frameHeight: 64 frameCount: 4 frameDuration: 500 interpolate: false } |
要控制 AnimatedSprite 对缩放的响应方式,请使用 smooth 属性。
请注意,与 SpriteSequence 不同,AnimatedSprite 类型不使用 Sprite 来定义多个动画,而是封装了一个单个动画自身。
另请参阅精灵动画.
属性文档
finishBehavior : 枚举 |
动画自行结束时的情况。
常量 | 描述 |
---|---|
FinishAtInitialFrame | 当动画结束时返回初始帧。这是默认行为。 |
FinishAtFinalFrame | 当动画结束时停留在最后一帧。 |
frameCount : int |
此AnimatedSprite中的帧数。
frameDuration : int |
动画每一帧的持续时间(毫秒)。小于或等于0
的值无效。
如果frameRate有效,它将用于计算帧的持续时间。如果无效,并且frameDuration
有效,则使用frameDuration
。
更改此参数将重新开始动画。
frameHeight : int |
此AnimatedSprite中单个帧的高度。
如果这是文件中唯一的精灵,则可以省略。
frameRate : qreal |
动画中的每秒帧数。小于或等于0
的值无效。
如果frameRate
有效,它将用于计算帧的持续时间。如果无效,并且frameDuration
有效,则使用frameDuration
。
更改此参数将重新开始动画。
frameSync : bool |
如果true
,动画将没有持续时间。相反,每当帧渲染到屏幕上时,动画将前进一帧。这将使其与绘制速率同步,而不是与流逝的时间同步。
如果frameSync被设置为true,它将覆盖frameRate和frameDuration。
默认为false
。
更改此参数将重新开始动画。
frameWidth : int |
此AnimatedSprite中单个帧的宽度。
如果这是文件中唯一的精灵,则可以省略。
frameX : int |
此AnimatedSprite的第一帧在图像文件中的X坐标。
如果第一帧从文件左上角开始,则可以省略。
frameY : int |
此AnimatedSprite的第一帧在图像文件中的Y坐标。
如果第一帧从文件左上角开始,则可以省略。
interpolate : bool |
如果为true,将在精灵帧之间进行插值,使动画看起来更平滑。
默认为true。
loops : int |
在播放动画这么多次数后,动画将自动停止。无效的负值。
如果设置为AnimatedSprite.Infinite
,则动画将不会自动停止播放。
默认为AnimatedSprite.Infinite
paused : bool |
当暂停时,可以手动前进当前帧。
默认为false
。
reverse : bool |
如果 true
,动画将以相反方向播放。
默认为false
。
running : bool |
精灵是否正在动画播放。
默认值为 true
source : url |
动画的图像源。
如果未指定 frameHeight 和 frameWidth,则假定它是一个单个的长方形方格行。否则,它可以是多行连续的行或矩形形,当一行结束时,将使用下一行。
信号文档
finished() |
当精灵完成动画播放时发出此信号。
当 running 设置为 false
时不会发出此信号,也不会为那些将 loops 属性设置为 AnimatedSprite.Infinite
的精灵发出。
注意:相应的处理程序是 onFinished
。
方法文档
int advance() |
将精灵动画向前推进一帧。
int restart() |
停止,然后启动精灵动画。
start() |
启动精灵动画。如果动画已经在运行,调用此方法不会有任何效果。
另请参阅 stop()。
stop() |
停止精灵动画。如果动画未运行,调用此方法不会有任何效果。
另请参阅 start()。
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。本提供的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 许可的。Qt及其相关标志是 The Qt Company Ltd. 在芬兰以及/或全球其他国家的商标。所有其他商标均为各自所有者的财产。